C# 聊天程序:使用流将聊天记录保存至本地文件
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();
}
}
}
代码解释
- 添加文件写入操作:在
while循环结束后,使用StreamWriter类写入文件。 - 追加模式:
StreamWriter构造函数的第二个参数设置为true,表示将内容追加到文件末尾,而不是覆盖原有内容。 - 附加信息:在写入文件时,添加了当前时间、对方IP地址等信息,以方便管理聊天记录。
- 关闭文件流:最后,记得使用
fileWriter.Close()关闭文件流。
总结
通过以上代码修改,我们实现了将聊天记录保存至本地文件的功能,并保留了以前的聊天记录。下次使用程序时,可以读取文件内容,恢复以前的聊天记录。
原文地址: https://www.cveoy.top/t/topic/n4mf 著作权归作者所有。请勿转载和采集!