简单的c#文本文件读写

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

System.IO命名空间中的类为托管应用程序提供文件以及其他形式的输入输出。托管i/o的基本构件是流,而流是字节导向的数据的抽象表示。流通过System.IO.Stream类表示.

System.IO.FileStream允许将文件作为流访问;

System.IO.MemoryStream允许将内存块作为流进行访问;…………

托管和非托管的应用程序最常使用的IO形式是文件IO。托管应用程序读写文件的一般步骤如下

1、用FileStream对象打开文件

2、进行二进制读写操作,在FileStream对象周围包装BinaryReader和BinaryWriter的实例,并调用BinaryReader和BinaryWriter方法执行输入输出。

3、要读写文本,在FileStream对象的周围包装一个StreamReader和StreamWriter,然后使用StreamReader和StreamWriter方法完成输入输出。

4、关闭FileStream对象。

下面是一个简单的文本文件读操作

using System;
using System.IO;

class FileTest
{
 static void Main(string [] args)
 {
  string filename="testfile.txt";
  //打开文件并显示其内容
  StreamReader reader=null;
  try
  {
   reader=new StreamReader(filename);
   for(string line=reader.ReadLine();line!=null;line=reader.ReadLine())
    Console.WriteLine(line);
  }
  catch(IOException e)
  {
   Console.WriteLine(e.Message);
  }
  finally
  {
   if(reader!=null)
    reader.Close();
  }
 }
}
/**
 * FCL是一个非常丰富的类库,所以还有许多打开文件并进行读取的方法,比如
 * 1.用File.open创建一个FileStream,并围绕它包装一个StreamReader
 * FileStream stream=File.Open(filename,FileMode.Open,FileAccess.Read);
 * StreamReader reader=new StreamReaderaa(stream);
 * 2.使用File.OpenText,在一步内创建一个FileStream和一个StreamReader
 * StreamReader reader=File.OpenText(filename);
 * 当然,还有其他的方法
 * 若要对文本进行写入操作,可以使用StreamWriter
 */

其中的异常处理是为了防止意外的事情发生,如传递给StreamReader的构造函数的文件名非法,或者在执行raeder.Close();前匡架引发异常等。