HOW TO:使用 System.IO 和 Visual C# .NET 读取文本文件
来源:互联网 发布:linux cf命令 编辑:程序博客网 时间:2024/05/17 01:49
HOW TO:使用 System.IO 和 Visual C# .NET 读取文本文件
概要
本文演示了如何从文本文件中检索信息,并使用 ArrayList 类向用户显示该信息。
备注: 本示例需要某种形式的文本 (.txt) 文件以从中读取。
若要在 Visual C# .NET 中加载和读取文本文件,请按照下列步骤操作: 1. 打开 Visual Studio .NET。在 C# 中新建控制台应用程序。 Visual Studio 给您创建一个静态类以及一个空的 Main() 过程。 2. 确保该项目至少引用了 System 名称空间。 对 System、system.io 和 System.Collections 名称空间使用 using 语句,这样,在后面的代码中就不需要限定这些名称空间中的声明了。 这些语句必须位于所有其他声明之前。
回到顶端
要求
Microsoft Visual C# .NET 回到顶端
在 Visual C# .NET 中读取文本文件
打开和读取文件进行读取访问是输入/输出 (IO) 功能的一个非常重要的部分,即使您不需要写入到相关文件,也是如此。 本示例打开一个文件进行读取,这适用于读取文本文件,但不适用于读取二进制文件。 本示例使用多个可用于打开文件的方法之一。 虽然很多数据结构都可以用于存储从文件中检索到的信息,但是,arraylist 类是使用最简便的结构。 为了打开文件和从文件中读取,本示例使用了 System.IO 名称空间中的对象,尤其是 System.IO.StreamReader 类。备注: 本示例需要某种形式的文本 (.txt) 文件以从中读取。
若要在 Visual C# .NET 中加载和读取文本文件,请按照下列步骤操作: 1. 打开 Visual Studio .NET。在 C# 中新建控制台应用程序。 Visual Studio 给您创建一个静态类以及一个空的 Main() 过程。 2. 确保该项目至少引用了 System 名称空间。 对 System、system.io 和 System.Collections 名称空间使用 using 语句,这样,在后面的代码中就不需要限定这些名称空间中的声明了。 这些语句必须位于所有其他声明之前。
using System;using System.IO;using System.Collections;
3. 若要打开一个文件以进行读取,请创建 StreamReader 对象的一个新实例,并将该文件的路径传递到构造函数中(如下所示): StreamReader objReader = new StreamReader("c://test.txt");
4. 您需要一个字符串变量,处理时将文件的每一行存储到该变量中。 因为将把这些行添加到一个 ArrayList 中,所以还应该声明和创建一个该类型的对象。 string sLine="";ArrayList arrText = new ArrayList();
5. 读取该文件有很多种方法,其中包括一次性读取整个文件的 ReadToEnd 方法。 但是,在本示例中,您可以使用 ReadLine 方法每次只读取文件中的一行。 当到达文件结尾时,此方法返回空值,这可以用于结束循环。 当您从文件中读取每一行时,可以使用 ArrayList 的 Add 方法将这些行插入到 ArrayList 类中。 while (sLine != null){sLine = objReader.ReadLine();if (sLine != null)arrText.Add(sLine);}objReader.Close();
6. 使用 For Each 循环将新填充的 ArrayList 内容写入到控制台(如下所示): foreach (string sOutput in arrText)Console.WriteLine(sOutput);Console.ReadLine();
7. 保存并运行您的代码,它将给控制台生成文件的内容列表。 回到顶端
完整代码列表
using System;using System.IO;using System.Collections;namespace TextFileReader_csharp{/// /// Summary description for Class1./// class Class1{static void Main(string[] args){StreamReader objReader = new StreamReader("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();}}}
回到顶端
疑难解答
在处理文件 I/O 时要注意一些问题,其中包括以下事项: ? 无论何时访问某个文件,要读取或写入的文件都有可能不在系统上,或者正在使用当中。 ? 在处理文件之前,本示例先将整个文件读取到内存中。 您可能会遇到文件太大而无法存储到内存中,或者没有权限访问该文件的情况。 以上的任何情形都会引发一个异常。 最好始终提供一个 try...catch 块来处理这些常见问题。 回到顶端
参考
有关更多信息,请访问以下 Microsoft .NET SDK 快速入门教程 Web 站点:http://www.gotdotnet.com/quickstart (http://www.gotdotnet.com/quickstart)
- HOW TO:使用 System.IO 和 Visual C# .NET 读取文本文件
- 使用 System.IO 和 Visual C# 读取文本文件
- HOW TO:在 Visual C# .NET 中使用 System.Xml 合并两个 XML 文档中的数据
- HOW TO:使用 Visual C# .NET 从文件中读取 XML
- HOW TO:使用 ADO.NET 和 Visual C# .NET 调用带参数的存储过程
- 311530 HOW TO:在 Visual C# .NET 中使用 System.Xml 合并两个 XML 文档中的数据 (From MKBA)
- HOW TO:使用嵌套 Repeater 控件和 Visual C# .Net 显示分层数据
- HOW TO:使用 GetOleDbSchemaTable 和 Visual C# .NET 检索架构信息
- HOW TO:在 Visual C# .NET 中跟踪和调试
- 如何读取和写入到文本文件中,通过使用 Visual C#
- HOW TO:使用 Visual C# .NET 在 ADO.NET 中以编程方式构建连接字符串
- HOW TO:使用 Visual C# .NET 在 ASP.NET 中创建自定义错误报告
- HOW TO:使用 C# .NET 计算和比较哈希值
- HOW TO:使用 Visual C# .NET 向 Microsoft Excel 2002 传输 XML 数据
- HOW TO:使用 Visual C# .NET 向 Excel 工作簿传输数据
- HOW TO:使用 Visual C# .NET 从数据库填充 DataSet 对象
- HOW TO:使用 Visual C# .NET 向 Excel 工作簿传输数据
- HOW TO:使用 Visual C# .NET 使 UserControl 成为设计时控件容器
- 多线程和多进程中几个信号函数的比较
- 使用正则表达式写的清除Html控制代码的方法
- 孙鑫VC学习笔记:第十一讲 如何把元文件保存到文件当中
- 用DHTML做的一个菜单特效
- 钩子(HOOK)机制的使用
- HOW TO:使用 System.IO 和 Visual C# .NET 读取文本文件
- 使用分页查询来适应挖掘海量数据的需求
- C#文件操作
- C语言学习书籍
- Oracle 9i 中的 SQL
- 自传
- 孙鑫VC学习笔记:第十一讲 图形重绘方法三 利用兼容DC
- FreeBSD学习笔记(一)
- IBM Power系列服务器处理器全了解