博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# IO 随笔
阅读量:4923 次
发布时间:2019-06-11

本文共 2039 字,大约阅读时间需要 6 分钟。

File类

1.用File.Create创建文件,会返回一个FileStream对象,如果不关闭这个对象,无法用File.AppendAllText追加文本

  报错示例:

   File.Create("D://a.txt");

   File.AppendAllText("D://a.txt", "你好"); 

  正确示例:

   FileStream fs = File.Create("D://a.txt");

   fs.Close();

   File.AppendAllText("D://a.txt", "你好");

2.File.Copy如果目标文件存在,会报错,可以将第二个参数设置为True,覆盖文件

3.File.Move如果目标文件存在,会报错,无法进行替换操作

4.File.CreateText跟File.Create情况类似,会返回一个StreamWriter对象 , StreamWriter用法在后面会说到

5.File.OpenRead 和 File.OpenWrite 分别返回 只读的FileStream对象和 只写的FileStream对象

6.File.Replace 使用其他文件的内容替换指定文件的内容,这一过程将删除原始文件,并创建被替换文件的备份

  示例:

    File.Replace("D://a.txt", "D://b.txt", "D://b-backup.txt");

    将文本b.txt的内容,替换成a.txt的内容,删除b.txt,并建立b的备份文件b-backup.txt

FileInfo类

FileInfo用来表示文件的基本信息 , 同时他还有File类的一些方法 

1.Attributes 使用FileAttributes枚举,获取或设置当前文件或目录的特性

2.Extension 获取文件扩展名,只读属性

3.FullName 文件完整路径(包含文件名),只读

4.Name  文件名称(带扩展名)

5.Directory 包含当前文件的目录,DirectoryInfo对象,只读属性

6.DirectoryName 文件完整路径(不包含文件名),只读

 

 

File类与FileInfo类的选择(个人理解 , 勿喷)

  • 快速操作文件用File。
  • 想用更多的方法、属性,用FileInfo。

Directory类

1.Directory.CreateDirectory  创建目录并返回一个DirectoryInfo对象

2.Directory.GetDirectories 返回子目录的数组

3.Directory.GetDirectoryRoot 返回磁盘根目录(如 D:/)

4.Directory.GetFiles  返回指定目录下所有文件的名称数组 

5.Directory.GetFileSystemEntries 返回指定目录下 , 文件和目录名称的数组,相当于 Directory.GetDirectories 和 Directory.GetFiles的并集

6.EnumerateDirectories , EnumerateFiles ,EnumerateFilesSystemEntries 相当于2,4,5的3个方法,返回IEnumerable<string>集合,性能比较好

DirectoryInfo类

包含的是Directory的一些基本信息

FileStream类

1.使用示例(最常用的)

  FileStream fs = new FileStream("D://a.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite);

  文本读取

  实例化并打开了一个数据流对象

  int _length = (int)fs.Length;

  byte[] data = new byte[_length ];

  声明一个跟数据流对象同样长度的byte数组

  fs.Read(data,0,_length);

  将数据流对象读取到byte数组内

  string str = System.Text.Encoding.Default.GetString(data);

  将byte数组转换成文本

  fs.Flush();

 

  fs.Close();

  释放

 

  文本写入

  byte[] b = Encoding.Default.GetBytes("你好");

  将文本转换成byte数组

  fs.Write(b, 0, b.Length);

  写入

  fs.Flush();

  fs.Close();

  释放

 

  未完待续~~~~~~~~~~~~~~~~~~~~~~

 

  

  

 

 

转载于:https://www.cnblogs.com/PeerlessAres/p/7019252.html

你可能感兴趣的文章
js 判断滚动条的滚动方向
查看>>
css,js文件后面加一个版本号
查看>>
webpack第一节(2)
查看>>
python之asyncio三种应用方法
查看>>
转:[Server] 在 Windows 上安裝 PHP 5.3 開發環境
查看>>
【IE6的疯狂之二】IE6中PNG Alpha透明(全集)
查看>>
第一个Shell脚本
查看>>
C++ 小笔记
查看>>
Mysql 语句优化
查看>>
例子:进度条
查看>>
包含单引号的sql
查看>>
HTML 基础 2
查看>>
Java 最常见 200+ 面试题全解析:面试必备(转载)
查看>>
LinkedList
查看>>
Spring框架下PropertyPlaceholderConfigurer类配置roperties文件
查看>>
[原创]独立模式安装Hive
查看>>
链表实现单链表创建、排序(升序)
查看>>
Spring旅程(一)为什么使用Spring
查看>>
centos安装桌面和远程连接
查看>>
侠探锦毛鼠之真假白玉堂
查看>>