文件操作的相关类
所在的命名空间在System.IO中
File 操作文件,对文件整体操作,拷贝,删除,剪切等等
Directory 操作目录(文件夹)静态类
Path 对文件或目录的路径进行操作(操作的是字符串本身)
Stream 文件流
1.FileStream 文件流 MemoryStream 内存流 NetworkStream 网络流
2.StreamReader 快速读取文本文件
3.StreamWriter 快速写入文本文件
Path 类常用方法
string ChangeExtension(string path,string extension) 修改文件的后缀,只修改字符串层面,并没有真实给文件改名
string Combine(string path1,string path2)
将两个路径合并成一个路径,可以方便解决不加斜线的问题,自动处理路径分割符的问题 string Combine(@"C: emp","a.jpg");
string GetDirectoryName(string path)
得到文件的路径名(文件夹)
string GetExtension(string path)
得到文件的扩展名
string GetFileName(string path)
得到文件路径的文件名部分
string GetFileNameWithoutExtension(string path)
得到除去扩展名的文件名
string GetFullFath(string path)
得到文件的全路径,可以根据相对路径获取绝对路径
File 类
File.Create(string path)
指定路径创建文件
File.Delete(string path)
删除指定路径文件
File.Copy(string sourceFile,string destFile)
复制文件
File.Move(string sourceFile,string destFile)
剪切文件
使用File类读数据
1.File.ReadAllBytes(string path);
Console.WriteLine(Encoding.Default.GetString(File.ReadAllBytes(@"D:1.txt")));
以字节类型读取文件 返回一个字节数组
2.File.ReadAllLines(string path);
读取文件的所有行 返回一个字符串数组
string[] str = File.ReadAllLines(path,Encoding.Default);
foreach (var tstr in str) {
Console.WriteLine(tstr);
}
3.File.ReadAllText(string path)
读取文件的所有行,返回一个字符串
Console.WriteLine(File.ReadAllText(path,Encoding.Default));
使用File类写数据
1.File.WriteAllBytes(string path,byte[] buffer);
以字节类型写入文件
File.WriteAllBytes(@"D: ext.txt", Encoding.Default.GetBytes("自律真的好难"));
2.File.WriteAllLines(string path,string[] str)
写入文件的所有行
File.WriteAllLines(@"D: ext.txt", new string[] { "asdf", "sdfa" });
字符串数组中的每个元素占一行
3.File.WriteAllText(string paht,string content)
写入文件的所有行
File.WriteAllText(@"D: ext.txt", "现在的穷只是暂时的,不可能穷一辈子");
Directory类
Directory类是一个静态类,这个类中的所有方法都是静态方法,需要使用类名调用
常用的方法
Directory.CreateDirectory(string path)
指定目录创建文件夹
Directory.Delete(string path,true)
删除指定目录 ture的参数是在指定目录中存在文件的时候确认删除
Directory.Move(string path)
剪切指定目录
string[] Directory.GetFileName(string path)
获得指定目录下的所有文件,返回一个string[]
获得指定目录下的指定文件添加参数"*.mp3"
编码
将字符串以怎么样的形式存储为二进制数据 常用的格式有ASCII、GBK、关闭2312、UTF-8
上面的都是自己总结的部分,可能有的地方总结的不是很准确,还有遗漏,以后慢慢补充