C#中的StreamReader/StreamWriter2009-06-28 本站 L小凤在读写文件的过程中,Filestream只可以进行以字节为单位原始数据流进行读写操作,为此,C#中提供了功能更加强大的StreamReader/ StreamWriter来支持文件的读写. StreamReader/ StreamWriter可以进行以字符为单位的数据读写操作..一. 用StreamReader的构造函数StreamReader有很多的构造函数:在这里只列出两个常用和比较常见的StreamReader sr=new StreamReader (Stream); Stream可以是Filestream;StreamReader sr=new StreamReader (String); String为指定的文件名初始化 StreamReader 类的新实例。例如://demo1FileStream filest = new FileStream(@"c:abc.txt", FileMode.Open, FileAccess.ReadWrite); StreamReader sr = new StreamReader(filest);//demo2StreamReader another = new StreamReader(@"c:abc.txt");两个StreamReader都指向同一个文件.StreamReader读取文件中的数据的代码:
FileStream filest = new FileStream(@"c:abc.txt", FileMode.Open, FileAccess.ReadWrite);StreamReader sr = new StreamReader(filest);string strLine = sr.ReadLine();//读取文件中的一行while(strLine!=null)//判断是否为空,表示到文件最后一行了{Console.WriteLine(strLine);strLine = sr.ReadLine();}sr.Close();//关闭流filest.Close(); |
程序运行结果和盘中abc.txt文件中的内容比较如下:
二. StreamWriterStreamWriter 专门用于的向文件中写数据的,它和StreamReader类似,只是一个负责向文件中写数据,一个负责向文件中读数据而已.StreamWriter 构造函数也有很多.在这里只举例两个构造函数.StreamWriter sr=new StreamWriter (Stream); Stream可以是Filestream;StreamWriter sr=new StreamWriter (String); String为指定的文件名初始化StreamWriter 类的新实例。例如://demo1FileStream filest = new FileStream(@"c:abc.txt", FileMode.Open, FileAccess.ReadWrite); StreamWriter sw = new StreamWriter (filest);//demo2StreamWriter another = new StreamWriter (@"c:abc.txt");下面的例子可以让大家掌握写文件的方法.
FileStream filewriter = new FileStream(@"C:abc.txt", FileMode.Append, FileAccess.Write);以追加的方式打开文件,并进行写入操作.StreamWriter sw = new StreamWriter(filewriter); 构造函数;for (char mychar = "a"; mychar <= "z"; mychar++){sw.Write(mychar);//将从a—z26个小写字母写入文件中.}sw.Close();filewriter.Close();//demoFileStream filest = new FileStream(@"c:abc.txt", FileMode.Open, FileAccess.ReadWrite);StreamReader sr = new StreamReader(filest);string strLine = sr.ReadLine();while(strLine!=null){Console.WriteLine(strLine);strLine = sr.ReadLine();}sr.Close();filest.Close(); |
| |
以上两图是输出内容和abc.txt中内容的比较.请大家仔细研读本程序.