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();
      }
   }
}

修改的部分主要在读取和写入聊天记录的部分。

  1. 读取之前的聊天记录: 代码中加入了读取 'Temp.txt' 文件的内容,如果文件存在,则将之前保存的聊天记录输出到控制台。
  2. 写入聊天记录: 每次发送消息后,将消息写入 'Temp.txt' 文件中。

运行程序后,输入对方的 IP 地址,即可进行聊天。聊天记录将会被保存在本地的 'Temp.txt' 文件中。每次运行程序时,'Temp.txt' 文件中的聊天记录会被恢复。

注意: 该程序需要在同一局域网内运行。

Java 聊天程序 ChatSimple:使用文件流保存聊天记录

原文地址: https://www.cveoy.top/t/topic/n4l2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录