[转载]C#读写文本文件
原文地址:http://blog.sina.com.cn/s/blog_4cc382360100ud7c.html
File类和FileInfo类都提供了读写文件的方法,Open,OpenRead,OpenWrite方法都返回文件流FileStream对象。
1. C#读写文件需要的头文件
using System.IO
using System.Text
2. C#读写文件需要的类
可以使用FileStream类,StreamReader和StreamWriter类
StreamReader sr = new StreamReader(@"C:\My Documents\ReadMe.txt"); 读取ReadMe.txt文件
StreamReader sr = new StreamReader(@"C:\My Documents\ReadMe.txt", Encoding.UTF8Encoding); 指定编码方法
使用StreamReader和StreamWriter类,不需要担心编码方式,因为这StreamReader类可以正确的读取任何格式的文件,StreamWriter类可以使用任何一种编码技术格式化它要写入的文本。
3. 如何把StreamReader类关联到FileStream上,其优点是可以显示指定是否创建文件和共享许可。
FileStream fs = new FileStream(@"C:\My Documents\ReadMe.txt",FileMode.Open,FileAccess.Read,FileShare.None);
StreamReader sr = new StreamReader(fs);
4. 在使用后关闭StreamReader,如果不这么做,会导致文件一直锁定,无法执行其他过程。
sr.Close()
5. 方法
ReadLine() 方法一次读取一行,但返回的字符串中不包括标记该行结束的回车换行符:
string NextLine = sr.ReadLine();
ReadToEnd()方法可以在一个字符串中提取文件的所有剩余内容
string RestOfStream = sr.ReadToEnd();
Read()方法只读取一个字符
int NextChar = sr.Read()
附:FileStream详解
1. (FileStream fs1 = File.Open("c:\\test.txt", FileMode.Open));
FileMode.Open 直接用FileStream类打开文件c:\\test.txt"。
2. (FileStream fs2 = File.Open("c:\\test.txt", FileMode.Append, FileAccess.Write));
FileMode.Append,以追加的方式打开文件"c:\\test.txt",将某些内容写到"c:\\test.txt"里。
3.(FileStream fs3 =File.Open("c:\\test.txt", FileMode.Truncate, FileAccess.ReadWrite, FileShare.Read)).
FileMode.Truncate的意思是将文件打开清空里面的内容后再对文件进行操作,
4. FileStream MyFileStream1 = new FileStream(@"c:\Testing.txt", FileMode.Create);
这个方法的意思是创建一个可以读写的文件,并且可以允许其他人读取文件的内容。
(原文链接:http://panjunlai.blog.163.com/blog/static/5819030120104207819652/)