File类
创建一个文件
File.Create(@"d:\1.txt");
拷贝一个文件
File.Copy(@"d:\1.txt",@"d:\2.txt");
判断一个文件是否存在
File.Exists(@"d:\1.txt");
删除一个文件(即便文件不存在 也不会报异常)
File.Delete(@"d:\1.txt");
读取一个文件内容
- //返回string
- File.ReadAllText("path",Encoding.Default);
- //返回string[]
- File.ReadAllLines("path",Encoding.Default);
- //返回byte[]
- File.ReadAllBytes("path");
把文本写入到文件
- File.WriteAllText("path","string");
- File.WriteAllLines("path",new string[4],Encoding.Default);
- File.WreteAllBytes("path",new byte[5]);
- File.AppendAllText();
FileStream类
- static void Copy(string source, string target)
- {
- using (FileStream fsReader = new FileStream(source, FileMode.OpenOrCreate, FileAccess.Read))
- {
- using (FileStream fsWrite = new FileStream(target, FileMode.OpenOrCreate, FileAccess.Write))
- {
- byte[] buffer = new byte[1024 * 1024 * 50];
- while (true)
- {
- int i = fsReader.Read(buffer, 0, 1024 * 1024);
- if (i <= 0)
- {
- break;
- }
- fsWrite.Write(buffer, 0, i);
- }
- }
- }
- }
Path类
对文件或目录的路径进行修改
- //D:\a\b\c\1.md
- string s1 = Path.ChangeExtension(@"D:\a\b\c\1.txt", "md");
将两个路径合并
- //D:\a\b\c\1.txt
- string s2 = Path.Combine(@"D:\a\b\c", "1.txt");
得到文件的路径名
- //D:\a\b\c
- string s3 = Path.GetDirectoryName(@"D:\a\b\c\1.txt");
得到文件的扩展名
- //.txt
- string s4 = Path.GetExtension(@"D:\a\b\c\1.txt");
得到文件的路径的文件名部分
- //1.txt
- string s5 = Path.GetFileName(@"D:\a\b\c\1.txt");
得到去除扩展名的文件名
- //1
- string s6 = Path.GetFileNameWithoutExtension(@"D:\a\b\c\1.txt");
得到文件的全路径。可以根据相对路径获得绝对路径
- //D:\a\b\c\1.txt
- string s7 = Path.GetFullPath(@"D:\a\b\c\1.txt");
得到一个唯一的临时文件名
- //C:\Users\1744\AppData\Local\Temp\tmp3285.tmp
- string s8 = Path.GetTempFileName();
得到临时文件夹的路径
- //C:\Users\1744\AppData\Local\Temp\
- string s9 = Path.GetTempPath();
StreamReader类
- using (StreamReader sr=new StreamReader(@"d:\Users\kim\Desktop\1.txt",Encoding.Default))
- {
- while(!sr.EndOfStream){
- Console.WriteLine(sr.ReadLine());
- }
- }
StreamWriter类
- using (StreamWriter sw = new StreamWriter(@"d:\Users\kim\Desktop\2.txt",true))
- {
- sw.Write("我爱你");
- }
Directory类
创建文件夹
Directory.CreateDirectory(@"C:\a");
删除目录(recursive表示是否递归删除,如果recursive为false则只能删除空目录)
void Delete(string path, bool recursive)
判断目录是否存在
bool Exists(string path)
得到一个目录下的子目录(通配符查找目录下的子目录,可以搜索到隐藏文件)
string[] GetDirectories(string path, string searchPattern, SearchOption searchOption)
得到一个目录下的文件(通配符查找目录下的文件)
string[] GetFiles(string path, string searchPattern, SearchOption searchOption)
得到目录的父目录(Directory.Move("c:\a",@"c:\bc"))
DirectoryInfo GetParent(string path)
剪切文件夹
Directory.Move("c:\a",@"c:\bc")