概括的说,File,FileInfo,FileStream是用于文件 I/O 的类,StreamReader是用于从流读取和写入流的类,使用之前都需using System.IO。

先定义一个TXT文档路径: string txtpath = (@"D:\C#练习\1.txt"); 要读入这个文档。

(1)File 提供用于创建、复制、删除、移动和打开文件的静态方法,并协助创建 FileStream。

FileStream fs = File.Open(txtpath, FileMode.Open);

File可以直接调用各种方法(Open、Delete、Exists等)

例如: if (File.Exists(txtpath)) { File.Delete(txtpath); }

(2)FileInfo 提供用于创建、复制、删除、移动和打开文件的实例方法,并协助创建 FileStream。

FileInfo fi = new FileInfo(txtpath); //实例化

FileStream fs = fi.Open();

以上,二者都是针对文件操作,不操作文件内容

(3)FileStream 支持通过其 Seek 方法随机访问文件。默认情况下,FileStream 以同步方式打开文件,但它也支持异步操作。

利用FileStream 我们可以得到一个文件的Streams,接着就是来读取。

(4)StreamReader 通过使用 Encoding 进行字符和字节的转换,从 Streams 中读取字符。

StreamWriter 通过使用 Encoding 将字符转换为字节,向 Streams 写入字符。

StreamReader sr = new StreamReader(fs);

string str = null; string temp=null; while((temp=sr.ReadLine())!=null) { str+=" "+temp; }

得到一个字符串,再可以对字符串进行处理。

PS:

TextReader 是 StreamReader 和 StringReader 的抽象基类。抽象 Stream 类的实现用于字节输入和输出,而 TextReader 的实现用于 Unicode 字符输出。

TextWriter 是 StreamWriter 和 StringWriter 的抽象基类。抽象 Stream 类的实现用于字节输入和输出,而 TextWriter 的实现用于 Unicode 字符输出。

File类的方法每次执行都要验证安全机制,所以在少量使用的时候用File效率高,但是如果用的多了 要用FileInfo效率高

2020-11-04相关推荐

  1. 2020.11.04 使用OpenCV进行图像阈值分割操作【OpenCV C++】

    使用函数threshold()进行图像分割 源代码: // testOpencv13.cpp : 此文件包含 "main" 函数.程序执行将在此处开始并结束. // #includ ...

  2. 2020.11.04@中国光大银行笔试

    光大银行信息科技部 技术综合试卷在线考试 编程题|25.0分1/2 曹老板的求贤令(AC) 时间限制: 3000MS 内存限制: 589824KB 题目描述: 曹老板准备攻打吕布,为扩充战力颁布了求贤 ...

  3. QIIME 2教程. 04人体微生物组分析Moving Pictures(2020.11)

    文章目录 QIIME 2用户文档. 4人体各部位微生物组 本节视频视频教程 启动QIIME2运行环境 样本元数据 下载和导入数据 拆分样品 序列质控和生成特征表 方法1. DADA2 方法2. Deb ...

  4. QIIME 2教程. 01简介和安装 Introduction Install(2020.11开始更新)

    写在前面 QIIME是微生物组领域最广泛使用的分析流程,10年来引用20000+次,2019年Nature杂志评为近70年来人体菌群研究的25个里程碑事件--里程碑16:生物信息学工具助力菌群测序数据 ...

  5. QIIME 2教程. 23图形界面q2studio(2020.11)

    文章目录 图形界面`q2studio` 译者简介 Reference 猜你喜欢 写在后面 图形界面q2studio QIIME 2 Studio (q2studio) https://docs.qii ...

  6. QIIME 2教程. 01简介和安装 Introduction Install(2020.11)

    文章目录 写在前面 QIIME 2的优势 QIIME 2用户文档(版本:2020.11) 视频:QIIME 2用户文档01.1 简介 入门指南 什么是QIIME 2? 核心概念 数据文件: QIIME ...

  7. QIIME 2教程. 21进化树q2-phylogeny(2020.11)

    使用q2-phylogeny进行系统发育推断 Phylogenetic inference with q2-phylogeny https://docs.qiime2.org/2020.11/tuto ...

  8. 2020.11新闻文章回顾

    月初统一收租. 如果觉得每天的新闻&原创文章有点帮助,可以微微打赏,让德事君多一点坚持下去的动力! 2020.11新闻&文章 电子支付Joompay要做欧洲的支付宝 软件测试资质认证I ...

  9. QIIME 2教程. 32如何写方法和引用Citing(2020.11)

    文章目录 引用QIIME 2 引用插件 检索特定于插件的引用 Retrieving plugin-specific citations 使用来源追溯列出引用 Using provenance to l ...

  10. QIIME 2教程. 31名词Glossary(2020.11)

    文章目录 名词解释 译者简介 Reference 猜你喜欢 写在后面 名词解释 User Glossary https://docs.qiime2.org/2020.11/glossary/ 译者注: ...

最新文章

  1. 11、流程控制语句详解,IF,CASE,LOOP,LEAVE, ITERATE,REPEAT,WHILE
  2. hdu-超级密码(BFS)
  3. boost::iostreams模块测试定义的布尔类型特征
  4. Oracle一致性读(Consistent Read)的原理
  5. 第一章导言的笔记与思考
  6. android 蓝牙各种UUID (转)
  7. Linux命令之cut详解
  8. mysql中clear怎么用_MySQL 入门篇
  9. PyTorch 深度学习入门
  10. 如何应对微信群舆情?
  11. 字符串模式匹配——BF算法
  12. window设置oracle sid,window下改oracle_sid
  13. 百度地图查找我的位置定位服务器,百度地图手机版如何进行我的位置定位?
  14. NLM去噪算法的python实现
  15. 神了,阿里数据库专家纯手写了这份604页的Oracle+MySQL攻坚指南
  16. 2022-2028全球及中国全耗尽绝缘体上硅(FD-SOI)行业研究调查分析报告
  17. 鱼C论坛上Python练习题-72
  18. 7月书讯(上)| 读书开启下半年
  19. virtualbox拷贝文件夹 linux,VirtualBox下快速创建新的虚拟机——复制vdi文件
  20. 研发能力保持国际先进水平,亿美软通再获CMMI3认证

热门文章

  1. 【C++深度剖析教程3】C++中类的静态成员变量
  2. python3获取两个日期之间所有日期,以及比较大小
  3. 关于windows cmd的一些便捷应用
  4. ffmpeg在android上输出滑屏问题处理
  5. 使用 ExecuteMultiple 提高批量数据加载的性能
  6. 什么是cname a记录
  7. [Bugku][Web][CTF] 30-33 write up
  8. Java学习笔记7-2——注解与反射
  9. idea lombok 离线安装_Lombok与IntelliJ IDEA干了一架,完胜
  10. linux 磁盘科隆,上海第二工业大学嵌入式操作系统B复习(无答案版)