Java 聊天程序 ChatSimple:使用文件流保存聊天记录
Java 聊天程序 ChatSimple:使用文件流保存聊天记录
本示例使用 Java 的文件流功能,将聊天程序 ChatSimple 的聊天记录保存到本地文件 'Temp.txt' 中,并实现每次运行程序时自动恢复之前的聊天记录。
修改后的代码如下:
import java.io.*;
import java.net.*;
public class ChatSimple {
public static void main(String[] args) {
try {
Socket s = new Socket(args[0], 8080);
System.out.println("Connected");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
PrintWriter out = new PrintWriter(s.getOutputStream(), true);
// 读取之前的聊天记录
File file = new File("Temp.txt");
if (file.exists()) {
BufferedReader recordIn = new BufferedReader(new FileReader(file));
String line;
while ((line = recordIn.readLine()) != null) {
System.out.println(line);
}
recordIn.close();
}
String line;
while ((line = br.readLine()) != null) {
out.println(line);
if (line.equals("bye")) break;
System.out.println("Server response: " + in.readLine());
// 写入聊天记录
BufferedWriter recordOut = new BufferedWriter(new FileWriter(file, true));
recordOut.write(line);
recordOut.newLine();
recordOut.flush();
recordOut.close();
}
s.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
修改的部分主要在读取和写入聊天记录的部分。
- 读取之前的聊天记录: 代码中加入了读取 'Temp.txt' 文件的内容,如果文件存在,则将之前保存的聊天记录输出到控制台。
- 写入聊天记录: 每次发送消息后,将消息写入 'Temp.txt' 文件中。
运行程序后,输入对方的 IP 地址,即可进行聊天。聊天记录将会被保存在本地的 'Temp.txt' 文件中。每次运行程序时,'Temp.txt' 文件中的聊天记录会被恢复。
注意: 该程序需要在同一局域网内运行。
原文地址: https://www.cveoy.top/t/topic/n4l2 著作权归作者所有。请勿转载和采集!