C#中读取文件内容本文分步介绍了如何从文本文件

时间:2023-02-11 07:45:22

------- <a href="http://***" target="blank">Windows Phone 7手机开发</a>、<a href="http://***" target="blank">.Net培训</a>、期待与您交流! -------

C#中读取文件内容本文分步介绍了如何从文本文件 (.txt) 检索信息,然后使用 ArrayList 类向用户显示该信息。要求Microsoft Visual C# 2005 或 Microsoft Visual C# .NET在 Visual C# 2005 或 Visual C# .NET 中读取文本文件打开和读取文件进行读取访问是输入/输出 (IO) 功能的一个非常重要的部分,即使您不需要写入到相关文件,也是如此。本示例打开一个文件进行读取,这适用于读取文本文件,但不适用于读取二进制文件。本示例使用多个可用于打开文件的方法之一。虽然很多数据结构都可以用于存储从文件中检索到的信息,但是,ArrayList 类是使用最简便的结构。为打开并读取文件,本示例使用了 System.IO 命名空间中的对象,尤其是 System.IO.StreamReader 类。注意:本示例需要某种形式的文本文件 (.txt) 以从中进行读取。要在 Visual C# 2005 或 Visual C# .NET 中加载和读取文本文件,请按照下列步骤操作:

 1. 启动 Microsoft Visual Studio 2005 或 Microsoft Visual Studio .NET。 

2. 在 Visual C# 中创建一个新的控制台应用程序。Visual Studio 会为您创建一个 Static Class 和一个空的 Main() 过程。 

3. 确保项目至少引用了 System 命名空间。对 System、System.IO 和 System.Collections 命名空间使用 using 语句,这样以后就无需在代码中限定这些命名空间中的声明。这些语句必须位于任何其他声明之前。

using System;using System.IO;

using System.Collections;

4. 要打开一个文件以进行读取,请创建 StreamReader 对象的一个新实例,并将该文件的路径传递到构造函数中,如下所示:StreamReader objReader = new StreamReader("c\\test.txt");

5. 您必须使用字符串变量,以便处理时将文件的每一行存储到该变量中。由于要向 ArrayList 中添加这些行,因此还需声明并创建一个此类型的对象。string sLine="";

ArrayList arrText = new ArrayList();

6. 读取该文件有很多种方法,其中包括一次性读取整个文件的 ReadToEnd 方法。但在本示例中,可以使用 ReadLine 方法每次只读取文件中的一行。当到达文件结尾时,此方法返回空值,这可以用于结束循环。在读取文件中的每一行时,可以使用 ArrayList 的 Add 方法将这些行插入 ArrayList 类中。

while (sLine != null)

{

sLine = objReader.ReadLine();

if (sLine != null)   arrText.Add(sLine);

}

objReader.Close();

7. 使用 For Each 循环将新填充的 ArrayList 内容写入控制台,如下所示:

foreach (string sOutput in arrText)Console.WriteLine(sOutput);

Console.ReadLine();

8. 保存并运行您的代码,它将向控制台生成文件的内容列表。   

完整代码列表

using System;

using System.IO;

using System.Collections;

namespace TextFileReader_csharp

{

/// <summary>

/// Summary description for Class1.

/// </summary>

class Class1

{  

 static void Main(string[] args) 

{    

   StreamReader objReader = new StreamReader("c:C#中读取文件内容本文分步介绍了如何从文本文件\\test.txt");

    string sLine="";

    ArrayList arrText = new ArrayList();

    while (sLine != null)

    {

     sLine = objReader.ReadLine();

     if (sLine != null)

      arrText.Add(sLine);

    }                         

    objReader.Close();

    foreach (string sOutput in arrText)

     Console.WriteLine(sOutput);

     Console.ReadLine();

   }

}

}