程序代码: [ 复制代码 ] [ 运行代码 ] 
using System;
using System.IO;
using System.Collections;

4. 要打开一个文件以进行读取,请创建 StreamReader 对象的一个新实例,并将该文件的路径传递到构造函数中,如下所示: 
程序代码: [ 复制代码 ] [ 运行代码 ] 

5. 您必须使用字符串变量,以便处理时将文件的每一行存储到该变量中。由于要向 ArrayList 中添加这些行,因此还需声明并创建一个此类型的对象。 
程序代码: [ 复制代码 ] [ 运行代码 ] 
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. 保存并运行您的代码,它将向控制台生成文件的内容列表。 

完整代码列表
程序代码: [ 复制代码 ] [ 运行代码 ] 
            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();
        }
    }
}


疑难解答
在处理文件 I/O 时要注意一些问题,其中包括以下事项:
• 无论何时访问文件,尝试读取或写入的文件可能不在系统上,或者正在使用当中。 
• 在处理文件之前,本示例先将整个文件读取到内存中。您可能会遇到文件太大而无法存储到内存中,或者没有权限访问该文件的情况。 
以上的任一情形都会引发异常。最好始终提供一个 try...catch 块来处理这些常见问题。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-10
  • 2022-02-15
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-06-10
  • 2021-09-13
  • 2022-12-23
  • 2021-08-01
相关资源
相似解决方案