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();
释放
未完待续~~~~~~~~~~~~~~~~~~~~~~