C#的IO操作主要是针对文件夹和文件的读取和写入操作,下面我们来学习一下相关操作的类。

获取文件信息

Directory和DirectoryInfo

两个类的功能基本相同,区别如下:

  1. 前者继承System.Object,后者继承抽象类FileSystemInfo;
  2. 前者是静态类,后者是非静态类,需要new创建实例;
  3. 前者返回的类型是简单字符串,后者返回的是强类型如FileInfo;

File和FileInfo

区别和Directory一致,下面给出帮助文档,具体的使用方法可以查看帮助:

https://msdn.microsoft.com/zh-cn/library/system.io(v=vs.110).aspx

读取文件

下面给出一个简单的读取文件的例子:

 1 using System;
 2 using System.IO;
 3
 4 namespace Study
 5 {
 6     class Program
 7     {
 8         static void Main(string[] args)
 9         {
10             if (!File.Exists("test.txt"))
11             {
12                 Console.WriteLine("文件不存在!");
13                 Console.Read();
14                 return;
15             }
16
17             using (StreamReader streamReader = File.OpenText("test.txt"))
18             {
19                 string line;
20                 while ((line = streamReader.ReadLine()) != null)
21                 {
22                     Console.WriteLine(line);
23                 }
24                 streamReader.Close();
25             }
26
27             Console.Read();
28         }
29     }
30 }

写入文件

下面给出一个简单的写入文件的例子:

 1 using System;
 2 using System.IO;
 3
 4 namespace Study
 5 {
 6     class Program
 7     {
 8         static void Main(string[] args)
 9         {
10             using (FileStream fileStream = File.Open("test.txt", FileMode.OpenOrCreate))
11             {
12                 TextWriter textWriter = new StreamWriter(fileStream);
13                 textWriter.WriteLine("Hello Li Lei,");
14                 textWriter.WriteLine("I`m Han Meimei.");
15                 textWriter.Flush();
16
17                 fileStream.Close();
18             }
19
20             Console.Read();
21         }
22     }
23 }

FileHelper

为了简化文件的读写操作,我写了一个工具类放到我的开源工程下,有需要得朋友可以直接使用:

https://github.com/hammerc/hammerc-framework-unity3d/blob/master/unitysource/4.x/Assets/HammercLib/Utils/FileHelper.cs

C#学习笔记(十三):I/O操作相关推荐

  1. Polyworks脚本开发学习笔记(十三)-深入了解MACRO命令

    Polyworks脚本开发学习笔记(十三)-深入了解MACRO命令 MACRO命令中包含了很多宏脚本管理以及变量操作命令,交互操作命令等,是非常重要的一个模块. 数组和字符串操作 从数组中拿掉一个元素 ...

  2. C# 学习笔记(19)操作SQL Server下

    C# 学习笔记(19)操作SQL Server下 ADO.net操作数据库 这应该是比较老的技术了,以后有空的话学学 Linq /// <summary> /// 数据库使用类 /// & ...

  3. C# 学习笔记(18)操作SQL Server 中

    C# 学习笔记(18)操作SQL Server 中 数据库基础操作 SQL语法可以参考 菜鸟教程 或者微软官方的SQL示例 注意SQL不区分大小写 查 1.基础查询 --最基础的查询语句, selec ...

  4. C# 学习笔记(17)操作SQL Server 上

    C# 学习笔记(17)操作SQL Server上 安装SQL Server 微软官网 https://www.microsoft.com/zh-cn/sql-server/sql-server-dow ...

  5. Python学习笔记:使用Python操作数据库

    Python学习笔记:使用Python操作数据库 一.数据库编程接口 为了对数据库进行统一的操作,大多数语言都提供了简单的.标准化的数据库接口(API).在Python Database API 2. ...

  6. JPA学习笔记---JPA数据的操作:增加,删除,修改,获取,使用JPQL进行查询

    JPA学习笔记---JPA数据的操作:增加,删除,修改,获取,使用JPOL进行查询 创梦技术交流平台:资源下载,技术交流,网络赚钱: 交流qq群:1群:248318056 2群:251572072 技 ...

  7. python复制指定字符串_python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)...

    python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),prin ...

  8. Polyworks脚本开发学习笔记(三)-TREEVIEW进阶操作

    Polyworks脚本开发学习笔记(三)-TREEVIEW进阶操作 移动/交换对象的顺序 移动对象的顺序 TREEVIEW FEATURE MOVE ( 1,2 ) 将索引号为1和2的特征交换位置 T ...

  9. OpenGL学习笔记(十三):将纹理贴图应用到四边形上,对VAO/VBO/EBO/纹理/着色器的使用方式进行总结

    原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7919 ...

  10. Hive学习笔记三之函数操作

    文章目录 5 函数 5.1 系统内置函数 5.2 常用内置函数 5.2.1 空字段赋值 5.2.2 CASE WHEN THEN ELSE END(类似于java中的switch case) 5.2. ...

最新文章

  1. 干货!仅有 100k 参数的高效显著性检测方法
  2. 【Linux入门到精通系列讲解】VFS分区动态绑定和CentOS7分区类型
  3. 存储引擎放弃使用索引的方式
  4. oracle的操作大全,Oracle数据库操作大全(六)Oracle中操作数据
  5. Django Model设计详解
  6. 彻底卸载acer软件保护卡_宏碁(Acer)传奇 14英寸 新一代7nm六核处理器 真香机 高性能宏基笔记本电脑(R5-4500U 7纳米 16G 512GSSD )...
  7. (软件工程复习核心重点)第一章软件工程概论-第四节:软件过程及相关模型
  8. 去除字符串中的html标记
  9. salt把返回写入到mysql
  10. 2018-04-26java实习面试记录
  11. 封装dialog弹窗
  12. IT行业相关技术介绍
  13. Voldemort的RoutedStore
  14. 智能交通系统(ITS)的无线网络技术
  15. Azure Machine Learning Studio 实例 -- 预测xx年的食物工厂总数
  16. 国产化服务器安装Mysql数据库
  17. 中国人民大学_《组织行为学》_14.相对剥夺:怎样快速形成凝聚力?
  18. 全国计算机二级c语言操作题步骤,全国计算机二级《C语言》操作试题
  19. 动手实验 CVE-2010-2883 Adobe Reader TTF字体SING表栈溢出漏洞
  20. MCS-5 中断技术(理论)

热门文章

  1. 北工大计算机网络基础期末考试,2013北工大计算机网络应用复习提纲整理版.doc...
  2. php 分布式数据库查询,分布式数据库 · Thinkphp5.0完全开发手册 · 看云
  3. python基本符合_python 3-3(2019-11-06 ) Python基础 (三)
  4. python读取日期_从文件中读取日期和数据(Python)
  5. 《软件项目管理(第二版)》第 6 章——项目质量管理 重点部分总结
  6. java 跨域 下载文件_文件下载重命名(可跨域)
  7. jdbc连接数据scanip_JDBC连接数据库的四种方式:DriverManager,DataSource,DBCP,C3P0
  8. mysql百万数据根据索引查询_mysql创建多列索引查询百万表数据的性能优化经验分享...
  9. es 删除重复数据_怎么标识并删除SPSS数据库里的“重复个案”?
  10. linux x86 关机 过程,linux在x86上的中断处理过程(详细)