C#IO读写txt文件的两种方法

FileStream
StreamReader/StreamWriter

1.添加命名空间

  System.IO;

  System.Text;

2.文件的读取

  (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出。

byte[] byData = new byte[100];
char[] charData = new char[1000];
public void Read()
{
  try
   {
     FileStream file = new FileStream("E:\\test.txt", FileMode.Open);
     file.Seek(0, SeekOrigin.Begin);
     file.Read(byData, 0, 100); 
     //byData传进来的字节数组,用以接受FileStream对象中的数据,第2个参数是字节数组中开始写入数据的位置,它通常是0,
     //表示从数组的开端文件中向数组写数据,最后一个参数规定从文件读多少字符.
     Decoder d = Encoding.Default.GetDecoder();
     d.GetChars(byData, 0, byData.Length, charData, 0);
     Console.WriteLine(charData);
     file.Close();
    }
   catch (IOException e)
   {
      Console.WriteLine(e.ToString());
   }
}

  (2).使用StreamReader读取文件,然后一行一行的输出。

public void Read(string path){
    StreamReader sr = new StreamReader(path,Encoding.Default);
    String line;
    while ((line = sr.ReadLine()) != null) {
     Console.WriteLine(line.ToString());
    }
}

3.文件的写入
(1).使用FileStream类创建文件,然后将数据写入到文件里。

public void Write(){
   //FileMode.Append为不覆盖文件效果.create为覆盖
   FileStream fs = new FileStream("E:\\ak.txt", FileMode.Create);
   //获得字节数组
   byte[] data = System.Text.Encoding.Default.GetBytes("Hello World!"); 
   //开始写入
   fs.Write(data, 0, data.Length);
   //清空缓冲区、关闭流
   fs.Flush();
   fs.Close();
}

  (2).使用FileStream类创建文件,使用StreamWriter类,将数据写入到文件。

public void Write(string path)
{
   FileStream fs = new FileStream(path, FileMode.Create);
   StreamWriter sw = new StreamWriter(fs);
   //开始写入
   sw.Write("Hello World!!!!");
   //清空缓冲区
   sw.Flush();
   //关闭流
   sw.Close();
   fs.Close();
}

以上就完成了,txt文本文档的数据读取与写入。

原文地址:https://www.cnblogs.com/grj001/p/12224820.html