idea 文件流读取web-inf下的文件_C#初学者教程系列20:Stream流读写
本文是C#初学者简单教程,这是第20篇。感谢观看,记得关注我,后续还有更多教程文章,谢谢。
本文环境为Visual Studio 2019。
一、介绍
在C#文件操作中,通常使用流来读取和写入文件。流是在应用程序和文件之间创建的层。流Stream用于确保对文件的流畅读写操作。
从大文件读取数据时通常使用流。通过使用流,大型文件中的数据被分解成小块,然后发送到流中,然后可以从应用程序中读取这些数据块。
将其分解成小块的原因是因为一次读取大文件会对性能产生影响。如果一次性读取一个100 MB的文件中的数据,则应用程序可能会挂起并变得不稳定。最好的方法是使用流将文件分解为可管理的块。
因此,当对文件执行写操作时,首先将要写入的数据写入流中。然后,从流中将数据写入文件。读取操作也是如此。在读取操作中,数据首先从文件传输到流。然后通过流从应用程序读取数据。
二、StreamReader
StreamReader用于从文件读取数据。来自文件的数据首先被读入流中。之后,应用程序从流中读取数据。
对于我们的示例,我们假定D盘有一个名为“买菜清单.txt”的文件。该文件将是一个简单的文本文件,并具有两行,如下所示
- 罗非鱼-8元/1.5斤
- 大白菜-2.3元/1.2斤
下面我们将创建一个简单的控制台应用程序并使用文件流StreamReader,说明如何使用流从文件中读取数据。
在program.cs文件中输入以下代码:
static void Main(string[] args){ String path = @"D:买菜清单.txt"; using (StreamReader sr = File.OpenText(path)) { String s = ""; while ((s = sr.ReadLine()) != null) { Console.WriteLine(s); } }}
代码说明:
- 首先,我们声明一个流读取器对象。StreamReader对象在C#中用于定义从文件到应用程序的流。每当从文件中读取数据时,数据就会从文件中推送到流中。File.OpenText用于以只读模式打开文件“ 买菜清单.txt”。然后将文件的处理程序发送到流读取器对象。
- 接下来,我们定义一个临时变量“s”,该变量将用于读取文件中的所有数据。
- 然后,我们使用流读取器方法ReadLine从流缓冲区读取每一行。当我们执行此操作时,每行将首先从文件传输到缓冲区。然后,字符串行将从缓冲区传输到变量“s”。然后,我们将字符串“s”的内容写入控制台。
如果您编写上面的代码,并使用Visual Studio 2019运行该项目时,您将获得以下输出:
三、StreamWriter
StreamWriter用于将数据写入文件。来自应用程序的数据首先被写入流中,之后,流将数据写入文件。
让我们看一个例子,说明如何使用流从文件写入数据。在program.cs文件中输入以下代码。
static void Main(string[] args){ String path = @"D:买菜清单.txt"; using (StreamWriter sr = File.AppendText(path)) { sr.WriteLine(""); sr.WriteLine("金针菇-3.6元/1.6斤"); sr.Close(); Console.WriteLine(File.ReadAllText(path)); }}
代码说明:
- 首先,我们声明一个StreamWriter对象,StreamWriter对象在C#中用于定义写入流,然后使用该流将数据从应用程序写入文件。每当需要写入数据时,数据就会从应用程序推送到流中。File.AppendText命令用于在追加模式下打开文件“ 买菜清单.txt”,然后将文件的处理程序发送到流编写器(StreamWriter)对象。
- 我们使用流写入方法WriteLine将“金针菇-3.6元/1.6斤”写入文件。
- 然后,我们在写入文件后关闭流写入器。通常,当不再需要出于编写目的而使用文件时,关闭文件处理程序是一个好习惯。这里提下,凡是带有Close()的说明它一般都是非托管资源,如果您不主动释放,那么该对象的内存就还在,如果一个对象是这样子,随着你越来越多次的调用,并且都不释放,内存就会升高。这就叫“内存泄漏”。
- 最后,我们再次读取文件的内容并将其写入控制台日志。这是检查行是否已写入文件。
如果您编写上面的代码,并使用Visual Studio 2019运行该项目时,您将获得以下输出:
祝您用餐愉快。
idea 文件流读取web-inf下的文件_C#初学者教程系列20:Stream流读写相关推荐
- c#读取solidworks文件_C#初学者教程系列20:Stream流读写
本文是C#初学者简单教程,这是第20篇.感谢观看,记得关注我,后续还有更多教程文章,谢谢. 本文环境为Visual Studio 2019. 一.介绍 在C#文件操作中,通常使用流来读取和写入文件.流 ...
- java resources 目录_[Java] 在 jar 文件中读取 resources 目录下的文件
注意两点: 1. 将资源目录添加到 build path,确保该目录下的文件被拷贝到 jar 文件中. 2. jar 内部的东西,可以当作 stream 来读取,但不应该当作 file 来读取. 例子 ...
- 安卓读取mysql数据库文件路径_Android开发实现读取assets目录下db文件的方法示例...
本文实例讲述了Android开发实现读取assets目录下db文件的方法.分享给大家供大家参考,具体如下: 最近准备打算写一个关于天气预报的app,偶然的机会在一大神的博客上看到了一个获取天气的api ...
- 安卓上为什么不能用system.io.file读取streammingAssets目录下的文件
安卓上为什么不能用system.io.file读取streammingAssets目录下的文件 首先,看文档: Streaming Assets Most assets in Unity are co ...
- CMD命令读取某个目录下所有文件夹名或文件名
CMD命令读取某个目录下所有文件夹名或文件名 CMD命令读取某个目录下所有文件夹名或文件名 要用到的dir命令 开始操作 CMD命令读取某个目录下所有文件夹名或文件名 目的是给自己留个笔记! 要用到的 ...
- 在不root手机的情况下读取Data目录下的文件
127|shell@android:/ $ cd /data cd /data shell@android:/data $ ls ls opendir failed, Permission denie ...
- 忙里偷闲写的小例子---读取android根目录下的文件或文件夹
From:http://www.cnblogs.com/wenjiang/p/3140055.html 最近几天真的是各种意义上的忙,忙着考试,还要忙着课程设计,手上又有外包的项目,另一边学校的项目还 ...
- linux怎么在目录下查找文件,linux find-在指定目录下查找文件
find命令用来在指定目录下查找文件.任何位于参数之前的字符串都将被视为欲查找的目录名.如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件.并且将查找到的子目录和文件全部进 ...
- java读取系统中指定的文件_java读取jar中指定的文件
Java 档案 (Java Archive, JAR) 文件是基于 Java 技术的打包方案.它们允许开发人员把所有相关的内容 (.class.图片.声音和支持文件等) 打包到一个单一的文件中.JAR ...
最新文章
- 腾讯130公顷的深圳新总部了解一下,大小相当于曼哈顿城
- Java 创建用户异常类、将异常一直向上抛、 throw和throws的区别
- 【Luogu】P3356火星探险问题(费用流)
- bat tomcat程序在后台执行_Web中间件漏洞之Tomcat篇
- 解题报告 『[NOI2014]起床困难综合症』
- [BUUCTF-pwn]——ciscn_2019_es_2(内涵peak小知识)
- 名品折扣,谁与争锋!
- LDD3中snull网络驱动程序的使用
- PAFF 和MBAFF
- 写最少的代码,避免给自己找麻烦
- ThreadLocal系列(二)-InheritableThreadLocal的使用及原理解析
- 从C语言中的指针看C#中委托
- Python热门开源项目TOP10
- Android----Intent详解
- ROS 教程——从入门到入土
- SpreadJS 15.2.3 黄金十月美好版
- 机器学习开篇之机器学习的分类
- 创意、实现和合作:一次原创H5的尝试
- 微信营销分析之最有效的微信推广技巧
- List和IList的区别