用Java语言编写3、图片还原:文件1.jpg经过如下操作后变为2.jpg,请还原图片1.jpg。import java.io.FileInputStream; import java.io.FileOutputStream; public class Test { public static void main(String[] args) throws Exception { FileInputStream fis = new FileInputStream("c:/1.jpg"); FileOutputStream fos = new FileOutputStream("c:/2.jpg"); while (true) { int a = fis.read(); if (a == -1) { break; } else { fos.write(a ^ 100); } } fos.close(); fis.close(); } }
时间: 2024-01-17 11:03:40 浏览: 64
好的,我来为您解答。
根据题目描述,我们可以看出使用了异或运算对文件进行了加密操作,因此我们只需要对2.jpg文件进行异或运算,再写入1.jpg文件中即可还原。
以下是实现您要求的代码:
```java
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class ImageRestoreDemo {
public static void main(String[] args) {
try (FileInputStream fis = new FileInputStream("2.jpg");
FileOutputStream fos = new FileOutputStream("1.jpg")) {
while (true) {
int a = fis.read();
if (a == -1) {
break;
} else {
fos.write(a ^ 100);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在代码中,我们使用了try-with-resources语句来打开文件流,并在操作完成后自动关闭。读取2.jpg文件中的每一个字节,进行异或运算,再将结果写入1.jpg文件中。
希望能够帮助到您!如果您还有其他问题,请随时提出。
阅读全文