以上为System.IO空间名称的例子,你可以看到蕴藏的灵活性。这些类的一个不足之处是,一个流作为前台方式服务于其它一个类,这就有可能在第一个流上执行多余的处理。和文件操作一样,这些方法被应用于加密或者缓冲等处理。
既然我们已经建立.NET流的基本知识,现在让我们更深入学习使用流来处理数据文件。
System.IO空间名称的File类提供了用于文本文件的必需功能。以下VB.NET源代码范例说明了它很容易使用,这一代码片段为显示位于本地硬盘中一个文本文件的内容:
Dim sr as StreamReader
Dim fileContents As String
sr = File.OpenText("c:test.txt")
fileContents = sr.ReadToEnd()
Console.WriteLine(fileContents)
sr.Close()
在C#中类似的代码也相当简单:
StreamReadersr = null;
String fileContents = null;
sr = File.OpenText("c:prodinfo.txt");
fileContents = sr.ReadToEnd();
Console.WriteLine(fileContents);
sr.Close();
关于这一范例,有几个值得注意的地方。首先,你必须包含System.IO空间名称,以保证代码能按计划而运行。同时,StreamReader类被用于作为Flie类的方法的前台。这一代码范例使用StreamReader类的ReadToEnd方法来读取文件的全部内容,除此之外,还包括以下的其它方法来访问文件的内容:
你可以使用ReadLine方法一行一行地读取文件的内容,这样可以改变前一范例的读取方式。以下C#代码实现了这一要求:
StreamReadersr = null;
String oneLine = null;
sr = File.OpenText("c:test.txt");
oneLine = sr.ReadLine();
while (oneLine != null) {
Console.WriteLine(oneLine);
oneLine = sr.ReadLine();
}
sr.Close();
代码使用while循环在某一时刻一行的方式循环读取整个文件内容。同样,我们还可以利用File类的OpenText方法,但还得包括其它的一些方法,这些方法包括:
用户评论