-
Directory.Exists(string str)
的参数应该是一个字符串,表示要检查的目录路径。作用是判断指定的目录是否存在。 -
Directory.CreateDirectory(string str)
的参数也是一个字符串,表示要创建的目录路径。作用是创建一个新的目录。如果指定的目录已经存在,该方法不会创建重复的目录,也不会抛出异常。
/*if (Directory.Exists(path1))
{
print(path1 + "存在");
}else
{
Directory.CreateDirectory(path1);
}*/
// print( Directory.GetCurrentDirectory());获取你当前应用程序(工程目录)的绝对路径
// Directory.Delete(path1);删除空文件夹,如果被删除的文件含有子文件夹则会报错;
// Directory.Delete(path1,true);删除目标文件夹,及其所以子文件夹;
// Directory.Move(path3,path1);//移动文件夹,可以通过这种方式来实现文件夹的重命名,path3 = @"C:\Users\20425\Desktop\WwjUnity"
向path1 = @"C:\Users\20425\Desktop\wwj\b移动,path1的父文件夹C:\Users\20425\Desktop\wwj不能含有path1,不然会报错。
//获取指定路径下所有文件夹和文件的绝对路径的数组
/*
注意 Directory.GetFiles获取的是文件夹里的文件,不能获取文件夹。
Directory.GetFiles(path);//获取文件夹下的所有文件
Directory.GetFiles(path,"?.txt");//获取文件夹下的所有"*.txt"文件
Directory.GetFiles(path,"?.txt",SearchOption.AllDirectories);//获取文件夹下的所有文件,SearchOption.AllDirectories:查找所有文件的子文件;默认关闭
Directory.GetFiles(path,"?.txt",EnumerationOptions enumerationOptions);//获取文件夹下的所有文件,
EnumerationOptions enumerationOptions =new EnumerationOptions();
enumerationOptions.BufferSize = 1024;
表示用于缓冲区的大小,单位为字节。你可以设置一个合适的值来优化读取操作,默认值为4096字节。
enumerationOptions.IgnoreInaccessible=false;
表示是否忽略无法访问的文件或目录。如果设置为true,当遇到无法访问的文件或目录时,
将不会引发异常并且会继续遍历其他可访问的文件或目录。如果设置为false,会在遇到无法访问的文件或目录时引发异常,默认值为true。
enumerationOptions.RecurseSubdirectories = false;
表示是否搜索子目录。如果设置为true,将搜索指定目录下的所有子目录;如果设置为false,将只搜索指定目录下的文件。
enumerationOptions.AttributesToSkip =FileAttributes.Hidden ;
表示需要跳过的文件或目录属性。它是一个包含FileAttributes枚举值的位掩码,用于指定不希望在搜索中包含的文件或目录类型。
例如,如果你希望跳过隐藏文件和系统文件,可以使用FileAttributes.Hidden | FileAttributes.System。
通配符说明符 匹配
*(星号) 该位置的零个或多个字符。
? (问号) 恰好在该位置有一个字符。
Directory.GetDirectories(path);//获取指定路径下的所有子文件夹但不包含孙子;重载同上
*/
/*
* API:获得创建时间,最后访问和最后修改时间
GetCreationTime,GetLastAccessTime,GetLastWriteTime
API:设置创建时间,最后访问和最后修改时间
SetCreationTime,SetLastAccessTime,SetLastWriteTime
你必须在文件存在的情况下才能进行获取或修改
string path = @"C:\Users\20425\Desktop\wwj";
DateTime dateTime = new DateTime(2023, 9, 22, 16, 47, 30);
Directory.SetCreationTime(path, dateTime);
*/