StreamReader & StreamWriter
这节讲StreamReader & StreamWriter,这两个类用于操作字符或者字符串,它将流的操作封装在了底层,相对来说用法比较简单,但是它不支持Seek()方法。
先看一下代码:
FileStream fs = new FileStream("./demo.txt", FileMode.Open, FileAccess.ReadWrite); StreamReader sr = new StreamReader(fs, true); StreamWriter sw = new StreamWriter("./demo_copy.txt"); string data = string.Empty; while ((data = sr.ReadLine()) != null) { Console.WriteLine(data); sw.WriteLine(data); } fs.Dispose(); sw.Dispose(); sr.Dispose();
我们可以从构造函数中传入FileStream对象进行StreamReader/Writer对象的创建,也可以直接传入路径,它会在内部创建流对象。
使用FileStream对象创建时,第二个参数是一个bool值,这个值指定是追加文件还是创建新文件:如果这个值为false,则创建新文件,或者截取现有文件并打开它;如果为true,则打开文件,保留原来的数据,若找不到文件,则创建一个新文件。
StreamReader类对象,有一个Read()方法,用法和FileStream类对象类似,它另有一个ReadLine()方法,该方法以string形式,返回一行数据,并将指针指向下一行,直到最后返回为空。StreamWriter类对象也是一样的用法。
这是我的公众号二维码,获取最新文章,请关注此号