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

------- <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:\\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();

   }

}

}

转载于:https://www.cnblogs.com/scx521/p/3240861.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/408576.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jQuery Mobile高手必备的十大技巧和代码片段

本文转自51ito布加迪编译版本: http://mobile.51cto.com/hot-276160.htm 其中未发现英文原作链接&#xff0c;为尊重版权&#xff0c;google之后附上: http://www.webdesignerdepot.com/2011/05/10-handy-jquery-mobile-tips-and-snippets-to-get-you-started/ jQuery Mobile高…

PyTorch 系列 | 数据加载和预处理教程

图片来源&#xff1a;Unsplash&#xff0c;作者&#xff1a;Damiano Baschiera2019 年第 66 篇文章&#xff0c;总第 90 篇文章本文大约 8000 字&#xff0c;建议收藏阅读原题 | DATA LOADING AND PROCESSING TUTORIAL作者 | Sasank Chilamkurthy译者 | kbsc13("算法猿的成…

PyTorch系列 | 如何加快你的模型训练速度呢?

图片来源&#xff1a;Pixabay&#xff0c;作者&#xff1a;talha khalil2019 年第 67 篇文章&#xff0c;总第 91 篇文章本文大约 6500 字&#xff0c;建议收藏阅读&#xff01;原题 | Speed Up your Algorithms Part 1 — PyTorch作者 | Puneet Grover译者 | kbsc13("算法…

Leetcode 系列 | 反转链表

点击上方“算法猿的成长”&#xff0c;选择“加为星标”第一时间关注 AI 和 Python 知识最近会更新一个 leetcode 的刷题系列&#xff0c;每次更新一道题目&#xff0c;并且通过画图辅助介绍自己的解题思路&#xff0c;大家如果有更好的解题思路也欢迎在文末留言&#xff0c;或…

Android UI开发第二十九篇——Android中五种常用的menu(菜单)

Android Menu在手机的应用中起着导航的作用&#xff0c;作者总结了5种常用的Menu。 1、左右推出的Menu 前段时间比较流行&#xff0c;我最早是在海豚浏览器中看到的&#xff0c;当时耳目一新。最早使用左右推出菜单的&#xff0c;听说是Facebook&#xff0c;我不确定消息的真实…

深度学习的一些经验总结和建议| To do v.s Not To Do

关注&置顶“Charlotte数据挖掘”每日9:00&#xff0c;干货速递&#xff01;昨天看到几篇不同的文章写关于机器学习的to do & not to do&#xff0c;有些观点赞同&#xff0c;有些不赞同&#xff0c;是现在算法岗位这么热门&#xff0c;已经不像几年前一样&#xff0c;可…

cocos2d-x 学习资料(很全)

cocos2d-x quick-cocos2d-x官网 http://cn.quick-x.com/?p235 TexturePacker 不错的图片组合工具&#xff08;教程&#xff09; http://hi.baidu.com/longfan365/item/5f2ac24478576ea961d7b9d3 cocosbuilder教程 &#xff08;杨世玲的博客&#xff09; http://young40.github…

PyTorch系列 | 快速入门迁移学习

点击上方“算法猿的成长”&#xff0c;选择“加为星标”第一时间关注 AI 和 Python 知识图片来源&#xff1a;Pexels&#xff0c;作者&#xff1a;Arthur Ogleznev2019 年第 68 篇文章&#xff0c;总第 92 篇文章本文大约 6800 字&#xff0c;建议收藏阅读原题 | TRANSFER LEAR…

poj 2486 树形dp

思路&#xff1a;这题是裸的树形dp。dp[i][j]表示第i个节点花费j步并且从子节点返回&#xff0c;能得到的最大苹果数&#xff1b;nback[i[j]表示第i个节点花费j步并且进入某个子节点不返回&#xff0c;能得到的最大苹果数。那么我们就能得到动态方程: 根节点为u&#xff0c;子节…

AI研发工程师成长指南

AI研发工程师成长指南本文为数据茶水间群友原创&#xff0c;经授权在本公众号发表。关于作者&#xff1a;Japson。某人工智能公司AI平台研发工程师&#xff0c;专注于AI工程化及场景落地。持续学习中&#xff0c;期望与大家多多交流技术以及职业规划。0x00 前言首先&#xff0c…

用cocos2dx实现模态对话框

ui部分使用了cocoStudio&#xff0c;注意这里没有实现怎么屏蔽其他的输入事件&#xff0c;其他的文档已经太多了&#xff0c;我这里使用的cocoStudio的控件自己的特性。 这里强烈推荐一下cocoStudio&#xff0c;虽然现在还有不完善的地方&#xff0c;但是我个人感觉做的很不错了…

进程和线程(上)

点击上方“算法猿的成长”&#xff0c;选择“加为星标”第一时间关注 AI 和 Python 知识2019 年第 70 篇文章&#xff0c;总第 94 篇文章本文大约 6000 字&#xff0c;阅读大约需要 15 分钟最近会开始继续 Python 的进阶系列文章&#xff0c;这是该系列的第一篇文章&#xff0c…

ZOJ 1057 Undercut(简单模拟)

Undercut 题目链接&#xff1a;http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId57 题目大意&#xff1a;a card game,two player,每个player有n张牌&#xff0c;按顺序出牌&#xff0c;如果2张牌的点数相等&#xff0c;2个player都不得分&#xff1b;如果2张牌点…