本文是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);        }    }}

代码说明:

  1. 首先,我们声明一个流读取器对象。StreamReader对象在C#中用于定义从文件到应用程序的流。每当从文件中读取数据时,数据就会从文件中推送到流中。File.OpenText用于以只读模式打开文件“ 买菜清单.txt”。然后将文件的处理程序发送到流读取器对象。
  2. 接下来,我们定义一个临时变量“s”,该变量将用于读取文件中的所有数据。
  3. 然后,我们使用流读取器方法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));    }}

代码说明:

  1. 首先,我们声明一个StreamWriter对象,StreamWriter对象在C#中用于定义写入流,然后使用该流将数据从应用程序写入文件。每当需要写入数据时,数据就会从应用程序推送到流中。File.AppendText命令用于在追加模式下打开文件“ 买菜清单.txt”,然后将文件的处理程序发送到流编写器(StreamWriter)对象。
  2. 我们使用流写入方法WriteLine将“金针菇-3.6元/1.6斤”写入文件。
  3. 然后,我们在写入文件后关闭流写入器。通常,当不再需要出于编写目的而使用文件时,关闭文件处理程序是一个好习惯。这里提下,凡是带有Close()的说明它一般都是非托管资源,如果您不主动释放,那么该对象的内存就还在,如果一个对象是这样子,随着你越来越多次的调用,并且都不释放,内存就会升高。这就叫“内存泄漏”。
  4. 最后,我们再次读取文件的内容并将其写入控制台日志。这是检查行是否已写入文件。

如果您编写上面的代码,并使用Visual Studio 2019运行该项目时,您将获得以下输出:

祝您用餐愉快。

c#读取solidworks文件_C#初学者教程系列20:Stream流读写相关推荐

  1. idea 文件流读取web-inf下的文件_C#初学者教程系列20:Stream流读写

    本文是C#初学者简单教程,这是第20篇.感谢观看,记得关注我,后续还有更多教程文章,谢谢. 本文环境为Visual Studio 2019. 一.介绍 在C#文件操作中,通常使用流来读取和写入文件.流 ...

  2. c#如何跳出一个函数_C#初学者教程系列9:类和对象

    本文是C#初学者简单教程,这是第9篇.感谢观看,记得关注我,后续还有更多教程文章,谢谢. 本文环境为Visual Studio 2019. 一.将现实世界转为类 类是对现实世界的代码描述,也就是所说的 ...

  3. 在保护继承中基类的共有成员_C#初学者教程系列11:继承

    本文是C#初学者简单教程,这是第11篇.感谢观看,记得关注我,后续还有更多教程文章,谢谢. 本文环境为Visual Studio 2019. 一.什么是继承 继承是面向对象编程的一种基本特性. 借助继 ...

  4. c++类指针赋值表达式必须是可修改的左值_C++进阶教程系列:全面理解C++中的类...

    原标题:C++进阶教程系列:全面理解C++中的类 关注Linux公社 最近刷了一些题,也面试了一些公司,把关于C++中关于类的一些概念总结了一下. 在这里也反思一下,面试前信心满满自以为什么都懂,毫无 ...

  5. python修改yaml文件_Python读取yaml文件的详细教程

    yaml简介 1.yaml [ˈjæməl]: Yet Another Markup Language :另一种标记语言.yaml 是专门用来写配置文件的语言,非常简洁和强大,之前用ini也能写配置文 ...

  6. c#读取solidworks文件_CSharpSolidworks C#打开程序路径中后缀为SLDPRT的 文件 C#编程 238万源代码下载- www.pudn.com...

    文件名称: CSharpSolidworks下载 收藏√  [ 5  4  3  2  1 ] 开发工具: C# 文件大小: 402 KB 上传时间: 2013-10-30 下载次数: 11 详细说明 ...

  7. java读取txt文件内容 小白教程

    磁盘I/O 典型I/O读写磁盘工作原理如下: tips: DMA:全称叫直接内存存取(Direct Memory Access),是一种允许外围设备(硬件子系统)直接访问系统主内存的机制.基于 DMA ...

  8. C#初学者教程系列1:什么是.NET Framework?

    本文是C#初学者简单教程,这是第1篇.感谢观看,记得关注我,后续还有更多教程文章,谢谢. 一.什么是Microsoft .Net Framework? .Net框架是由Microsoft开发的软件开发 ...

  9. python中的with open读取表格文件_python 使用 with open() as 读写文件

    读文件: 要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符: >>> f = open('E:\python\python\test.tx ...

最新文章

  1. 加减法叫做什么运算_小学四则运算基础知识,赶快给孩子存下吧!
  2. DATA SHARING Help JetBrains improve its products by sending anonymous data about features and plugin
  3. django-模板语言-循环语句
  4. SAP License:PO中“最终发票”的应用与理解
  5. php操作剪贴板内容代码,JavaScript操作剪贴板的实现方法介绍
  6. spark之常见的机器学习算法
  7. 2016 hitb-facebook-ctf capture-mexico-tls RSA-CRT-Attack
  8. excel表格中身份证信息提取出生年月日,年龄,性别,出生地
  9. Crazy Bird
  10. Python-玩转数据-python网络编程
  11. ipqc异常处理流程图_IPQC工作流程图
  12. 图解LVS的工作原理
  13. veket linux输入法,智能通用输入法平台(SCIM for veket)
  14. list和set集合的遍历
  15. 来自不同行业领域的50多个对象检测数据集
  16. 毕业设计 SSM毕业设计管理系统
  17. css整理 -- 右箭头,上下箭头,三角形
  18. Jquery中的ajax请求($.ajax())参数请求详解
  19. 谜题20:我的类是什么?
  20. WM8960耳机插拔检测

热门文章

  1. python可以处理矩阵吗_Python 稀疏矩阵处理
  2. 工作做事通用方法探索
  3. C语言课后习题(57)
  4. JavaWeb学习笔记-kuangshen
  5. 盐城计算机中专学校,盐城市有哪些中专学校?
  6. 嘉年华回顾丨 尚博带你了解腾讯 TXSQL如何 赋能腾讯云分布式数据库 CynosDB
  7. stm32串口空闲中断接收不定长数据
  8. 高并发中,那些不得不说的线程池与ThreadPoolExecutor类
  9. Zabbix的应用(6)----常见错误
  10. 【Python3网络爬虫开发实战】1.2.4-GeckoDriver的安装