C# 文件目录操作

目录操作

1.引入库

using System.IO;

2. 创建目录

string path = "D:\\testDir1\\testDir2\\testDir3"
Directory.CreateDirectory(path)
// 允许级联创建

3. 删除目录

string path = "D:\\testDir1"
Directory.Delete(path, false); // 如果目标文件夹非空,不删除 
Directory.Delete(path, true); // 目标文件夹非空则级联删除

4. 移动目录

string path = "D:\\testDir\\sourceDir\\sourceDir";

Directory.CreateDirectory(path)
Directory.Move(path, "D:\\destDir");

// D:\\testDir\\sourceDir\\sourceDir -> // D:\\destDir 

// destDirName 参数指定的目标路径应为新目录,如果目标目录已存在,会导致异常。

文件操作

1. 判断文件是否存在

if(File.Exists("D:\\testfile.txt")){
    Console.WriteLine("ok!");
}else{
    Console.WriteLine("are you kidding me ?");
}

2. 复制文件

string test_file = "D:\\testfile.txt";
File.Copy("D:\\testfile.txt", "D:\\tmptestfile.txt");

3. 删除文件

File.Delete("D:\\tmptestfile.txt");

4. 文件属性判断

// C#中文件的每一个属性都被一个唯一的二进制数表示
// 以下代码判读某个路径是否为文件夹
// 可以通过 .GetAttributes() 和 .SetAttributes() 来获取和修改属性
if (( File.GetAttributes(path) & FileAttributes.Directory) 	== FileAttributes.Directory ) 
{  //这个判断是如何进行的?
    Console.WriteLine("“{0}”是目录", path);
}
else {
    Console.WriteLine("“{0}”是文件", path);
}

5. 文件读写

string File.ReadAllText(string path, Encoding encoding) 
// 读取每一行,拼接为一个字符串

string[] File.ReadAllLines(string path, Encoding encoding)
//  读取每一行,返回一个字符串数组
    
void WriteAllText(string path, string content, Encoding encoding) 
// 将指定字符串覆盖到文件中,如果文件不存在则创建
    
void AppendAllText(string path, string content, Encoding encoding)
// 将指定字符串追加到文件中,如果文件不存在则创建
    
// 相应的还有:

WriteAllLines()
AppendAllLines()

6. FileStream

using (FileStream fs = File.Open(@"C:\Users\13234\Desktop\fstest.txt", FileMode.Create))
{
    byte[] b = Encoding.UTF8.GetBytes("你好!世界》");
    fs.Write(b, 0, b.Length);
}

using(FileStream fs = File.Open(@"C:\Users\13234\Desktop\fstest.txt", FileMode.Open))
{
    byte[] b = new byte[1024]; // 每次读取的缓存大小
    int len = 0;
    while((len = fs.Read(b, 0, b.Length)) > 0)
    {
        Console.WriteLine(Encoding.UTF8.GetString(b, 0, len) + "\n");
    }
}
posted @ 2021-06-09 21:32  popozyl  阅读(377)  评论(0编辑  收藏  举报