编写一个Java应用程序,命名为Code1.java将已存在的文本文件message.txt的内容加密后存入另一个文本文件secret.txt。例如,程序使用异或13进行加密解密,其运行结果如图1所示。 图1 程序Code1.java运行结果 程序运行后D盘生成文本文件secret.txt,打开该文件,其内容为密文,如图2所示。 图1 程序Code1.java运行后生成的secret.txt文件 提示:通过FileReader流的read()方法读取message.txt文件内容,加密后的内容通过FileWriter流的write()方法写入文件secret.txt。
时间: 2024-02-18 10:00:44 浏览: 63
好的,您的问题是关于Java文件加密的。以下是一个可能的解决方案:
```java
import java.io.*;
public class Code1 {
public static void main(String[] args) {
String inputFile = "D:\\message.txt";
String outputFile = "D:\\secret.txt";
int key = 13; // 加密解密密钥
try (FileReader reader = new FileReader(inputFile);
BufferedReader bufferedReader = new BufferedReader(reader);
FileWriter writer = new FileWriter(outputFile);
BufferedWriter bufferedWriter = new BufferedWriter(writer)) {
int ch;
while ((ch = bufferedReader.read()) != -1) {
char c = (char) ch;
char encryptedC = (char) (c ^ key); // 异或加密
bufferedWriter.write(encryptedC);
}
System.out.println("加密完成!密文已保存到文件 " + outputFile);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这个程序使用了Java的输入输出流,通过FileReader和BufferedReader读取输入文件的内容,再用FileWriter和BufferedWriter写入密文到输出文件中。
加密的过程是通过异或运算实现的,这里使用了一个简单的加密解密密钥key为13。可以根据实际需要修改密钥。
运行程序后,会在D盘生成一个secret.txt文件,其中保存了加密后的内容。可以使用文本编辑器打开该文件查看密文。
希望这个解决方案能够解决您的问题。
阅读全文