首页 ┆ 网站地图 ┆ 在线留言 ┆ 游戏资讯 ┆ 资源下载 ┆ 端午节祝福 ┆ 迅雷在线影视
设为首页
加入收藏
联系我们
高级搜索
您当前的位置: 主页>NET专区>C#语言>C#如何从文本文件读取信息并使用ArrayList类向用户显示该信息
C#如何从文本文件读取信息并使用ArrayList类向用户显示该信息
来源: 发布时间:2008-05-26 发布人: 浏览: 人次   字体: [ ]  
本文分步介绍了用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:\\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 块来处理这些常见问题。

相 关 文 章   发布商链接
·什么是泛型?泛型的一些概述
·C#对timer类的使用操作代码
·如何在c#中获取事件注册的方法
·如何在C#中插入照片到Excel文档
·C#函数中返回多个值的两种方法介绍
·怎样在C#中删除只读文件及其获取相应...
·用C#语言写的系统日志方法
·C#编写控制线程的运行和线程之间的通...
·c#语言从dbf数据库提取数据并规格化...
·想要提高自己C#语言编程水平的同志们...
 §最新评论:(评论内容只代表网友观点,与本站立场无关!)
网名: 验证码:  【所有评论】【↑返回顶部
评 分: 12 345
评论内容:(不能超过500字,请自觉遵守互联网相关政策法规。[按 Ctrl+Enter 可直接提交]
注意:请勿在本站发布政治话题、色情及违反法律的内容。
IT知道网 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。
推 荐 文 章
·有助快速理解C#委托和事件之...
·C#泛型学习笔记总结
·c#语言从dbf数据库提取数据并
·C#编写控制线程的运行和线程...
·怎样在C#中删除只读文件及其...
·C#函数中返回多个值的两种方...
·如何在C#中插入照片到Excel文
·如何在c#中获取事件注册的方...
·C#对timer类的使用操作代码
·什么是泛型?泛型的一些概述
·如何在c#中去掉字符串中的回...
·如何使用C#获取IIS服务器版本...
·什么是泛型编程思想?及其简...
·c#子线程控制进度条的一个简...
·C#如何获取文件路径中的文件...
热 门 文 章
·c#中收发邮件处理代码(POP3,...
·C#如何获取文件路径中的文件...
·什么是c#深拷贝与浅拷贝及其...
·C#中关于四舍五入函数的讨论...
·c#中的ArrayList属性祥解及其...
·C#语言实现创建、删除和移动...
·快速进行List排序的通用方法...
·C#对timer类的使用操作代码
·String.Split 方法使用及其代...
·如何在c#中去掉字符串中的回...
·用C#编写ActiveX控件代码实例
·C#语言实现从XML文件导出数据...
·浅谈接口和抽象类的区别,加...
·c#子线程控制进度条的一个简...
·C#语言绘制实时曲线图代码实...
网站首页 - 关于本站 - 加入收藏 - 网站地图 - 友情连接 - 在线留言 - 联系我们 - 返回顶部
Copyright © 2007 IT知道网.[冀ICP备07026896号]. All Rights Reserved .