C#读写文本文件

时间:2023-02-11 09:21:30

C#中读写文本文件.txt文件既可以用File类也可用StreamReader、StreamWrite类。这两种方法都需要引用using System.IO命名空间。

下面分别给出例子:

1.File类写入文本文件:

 1         private void btnTextWrite_Click(object sender, EventArgs e)
 2         {
 3             //文件路径
 4             string filePath = @"E:\123\456.txt";
 5 
 6             //检测文件夹是否存在,不存在则创建
 7             NiceFileProduce.CheckAndCreatPath(NiceFileProduce.DecomposePathAndName(filePath, NiceFileProduce.DecomposePathEnum.PathOnly));
 8 
 9             //定义编码方式,text1.Text为文本框控件中的内容
10             byte[] mybyte = Encoding.UTF8.GetBytes(text1.Text);
11             string mystr1 = Encoding.UTF8.GetString(mybyte);
12 
13             //写入文件
14             //File.WriteAllBytes(filePath,mybyte);//写入新文件
15             //File.WriteAllText(filePath, mystr1);//写入新文件
16             File.AppendAllText(filePath, mystr1);//添加至文件
17 
18         }

 

2.File类读取文本文件:

 1         private void btnTexRead_Click(object sender, EventArgs e)
 2         {
 3             //文件路径
 4             string filePath = @"E:\123\456.txt";
 5             try
 6             {
 7                 if (File.Exists(filePath))
 8                 {
 9                     text1.Text = File.ReadAllText(filePath);
10                     byte[] mybyte = Encoding.UTF8.GetBytes(text1.Text);
11                     text1.Text = Encoding.UTF8.GetString(mybyte);
12                 }
13                 else
14                 {
15                     MessageBox.Show("文件不存在");
16                 }
17             }
18             catch (Exception ex)
19             {
20                 MessageBox.Show(ex.Message);
21             }
22         }

 

3.StreamWrite类写入文本文件:

 1         private void btnTextWrite_Click(object sender, EventArgs e)
 2         {
 3             //文件路径
 4             string filePath = @"E:\123\456.txt";
 5 
 6             try
 7             {
 8                 //检测文件夹是否存在,不存在则创建
 9                 string mystr1 = NiceFileProduce.CheckAndCreatPath(NiceFileProduce.DecomposePathAndName(filePath, NiceFileProduce.DecomposePathEnum.PathOnly));
10 
11                 using (StreamWriter sw = new StreamWriter(filePath, false, Encoding.UTF8))
12                 {
13                     byte[] mybyte = Encoding.UTF8.GetBytes(text1.Text);
14                     text1.Text = Encoding.UTF8.GetString(mybyte);
15                     sw.Write(text1.Text);
16                 }
17 
18             }
19             catch
20             {
21 
22             }
23         }

 

4.StreamReader类读取文本文档:

 1         private void btnTexRead_Click(object sender, EventArgs e)
 2         {
 3             //文件路径
 4             string filePath = @"E:\123\456.txt";
 5             try
 6             {
 7                 if (File.Exists(filePath))
 8                 {
 9                     using (StreamReader sr = new StreamReader(filePath, Encoding.UTF8))
10                     {
11                         text1.Text = sr.ReadToEnd();
12                         byte[] mybyte = Encoding.UTF8.GetBytes(text1.Text);
13                         text1.Text = Encoding.UTF8.GetString(mybyte);
14                     }
15                 }
16                 else
17                 {
18                     MessageBox.Show("文件不存在");
19                 }
20             }
21             catch (Exception ex)
22             {
23                 MessageBox.Show(ex.Message);
24             }
25         }