微网站和网站同步像素,代理注册公司赚钱吗,娄底建设企业网站,唯美网站建设输入流用于从外部源读取数据。在很多情况下#xff0c;数据源是磁盘上的文件或网络的某些位置。任何可以发送数据的位置都可以是数据源#xff0c;比如网络应用程序、Web服务#xff0c;甚至是控制台。 用来从文件中读取数据的类是StreamReader。同StreamWriter一样#xf…输入流用于从外部源读取数据。在很多情况下数据源是磁盘上的文件或网络的某些位置。任何可以发送数据的位置都可以是数据源比如网络应用程序、Web服务甚至是控制台。 用来从文件中读取数据的类是StreamReader。同StreamWriter一样这是一个通用类可以用于任何流。 StreamReader对象的创建方式非常类似于StreamWriter对象。创建它的最常见方式是使用前面创建的FileStream对象FileStream fs new FileStream(test.txt,FileMode.Open);StreamReader sr new StreamReader(fs);同StreamWriter一样StreamReader类可以直接在包含具体文件路径的字符串中创建StreamReader sr new StreamReader(test.txt);using System;using System.Collections.Generic;using System.Text;using System.IO;class Program{static void Main(string[]args){ try { FileStream aFile new FileStream(c:\祝福.txt, FileMode.Open); StreamReader sr new StreamReader(aFile); string strLine sr.ReadLine(); while(strLine ! null) { Console.WriteLine(strLine); strLine sr.ReadLine(); } sr.Close(); } catch (IOException ex) { Console.WriteLine(ex.Message); Console.ReadLine(); return ; }Console.ReadKey(); }} FileStream构造函数找不到该文件就会抛出异常。 这个应用程序非常类似于前面的应用程序。其明显的区别就是它是在读取数据而不是写入数据。同前面一样必须导入System.IO命名空间才能访问需要的类。 使用ReadLine()方法从文件中读取文本。这个方法读取回车符之前的文本并以字符串的形式返回结果文本。当到达文件尾时该方法就返回空值通过这种方法可以测试文件是否已到达了尾部。注意使用while循环时在执行循环体的代码之前进行检查确保读取的行不为空这样就只显示文件的有效内容strLine sr.ReadLine();while(strLine ! null){ Console.WriteLine(strLine); strLine sr.ReadLine();} ReadLine()方法不是在文件中访问数据的惟一方法。StreamReader类还有许多读取数据的方法。 读取数据最简单的方法是Read()。此方法将流的下一个字符作为正整数值返回如果到达了流的结尾处则返回–1。使用Convert实用类可以把这个值转换为字符。在上面的示例中程序的主体可以按如下方式编写StreamReader sr new StreamReader(aFile);int nChar;nChar sr.Read();while(nChar ! -1){ Console.Write(Convert.ToChar(nChar)); nChar sr.Read();}sr.Close();对于小型文件可以使用一个非常方便的方法即ReadToEnd()方法。此方法读取整个文件并将其作为字符串返回。在此前面的应用程序可以简化为StreamReader sr new StreamReader(aFile);strLine sr.ReadToEnd();Console.WriteLine(strLine);sr.Close();这似乎非常容易和方便但必须小心。将所有的数据读取到字符串对象中会迫使文件中的数据放到内存中。应根据数据文件的大小禁止这样处理。如果数据文件非常大最好将数据留在文件中并使用StreamReader的方法访问文件。转载于:https://www.cnblogs.com/tanding/archive/2012/07/02/2572691.html