C# 聊天程序:使用流将聊天记录保存至本地文件

本文将介绍如何在 C# 聊天程序中使用流将聊天记录保存至本地文件。我们将修改 'ChatSimple' 工程的代码,将聊天记录写入 'Temp.txt' 文件,并保留以前的聊天记录,以便下次使用程序时恢复。

代码修改

以下代码展示了修改后的 'ChatSimple' 工程代码,其中添加了将聊天记录写入文件的逻辑:

using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Text;

namespace ChatSimple
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("请输入对方IP地址:");
            string ip = Console.ReadLine();
            TcpClient client = new TcpClient(ip, 8888);
            Console.WriteLine("连接成功!");
            StreamReader reader = new StreamReader(client.GetStream(), Encoding.UTF8);
            StreamWriter writer = new StreamWriter(client.GetStream(), Encoding.UTF8);
            writer.AutoFlush = true;

            string message;
            while (true)
            {
                Console.Write("请输入消息:");
                message = Console.ReadLine();
                writer.WriteLine(message);
                if (message.ToLower() == "exit")
                {
                    break;
                }
            }

            // 将聊天记录写入文件
            string filePath = "Temp.txt";
            StreamWriter fileWriter = new StreamWriter(filePath, true);
            fileWriter.WriteLine("=== " + DateTime.Now.ToString() + " ===");
            fileWriter.WriteLine("IP地址:" + ip);
            fileWriter.WriteLine("聊天记录:");
            // 将当前聊天记录追加到文件中
            fileWriter.WriteLine(message);
            fileWriter.Close();

            reader.Close();
            writer.Close();
            client.Close();
        }
    }
}

代码解释

  1. 添加文件写入操作:在 while 循环结束后,使用 StreamWriter 类写入文件。
  2. 追加模式StreamWriter 构造函数的第二个参数设置为 true ,表示将内容追加到文件末尾,而不是覆盖原有内容。
  3. 附加信息:在写入文件时,添加了当前时间、对方IP地址等信息,以方便管理聊天记录。
  4. 关闭文件流:最后,记得使用 fileWriter.Close() 关闭文件流。

总结

通过以上代码修改,我们实现了将聊天记录保存至本地文件的功能,并保留了以前的聊天记录。下次使用程序时,可以读取文件内容,恢复以前的聊天记录。

C# 聊天程序:使用流将聊天记录保存至本地文件

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

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