directoryinfo DirectoryInfo类的属性
大家好,今天我将为大家揭秘directoryinfo和DirectoryInfo类的属性的奥秘,希望我的分享能给你带来新的启发和知识。
create directory 后,如何删除是DELETE directory吗
一个根文件夹,底下包含多级目录,每一级又存在多个个子文件夹,每个文件夹里面又存在多个文件。如果要删除所有子文件又保存最顶级的目录文件夹,那采用什么办法处理好呢?处理方法 1、直接删除根文件夹,然后再创建根文件夹。 void deleteAllFile(string path){ Directory.Delete(path,true); Directory.CreateDirectory(path);} 2、遍历所有子目录文件夹的文件,逐个删除。//////遍历文件夹及子文件夹所有文件////// string dir=ListFiles(new DirectoryInfo(dir));///文件夹目录路径///返回ArrayList对象 public static System.Collections.ArrayList ListFiles(string fileDirectory){ ArrayList arylist= null; if(Directory.Exists(fileDirectory)){ DirectoryInfo dinfo= new DirectoryInfo(fileDirectory); if(dinfo!= null){ FileSystemInfo[] files= dinfo.GetFileSystemInfos(); for(int i= 0; i< files.Length; i++){ FileInfo file= files[i] as FileInfo; if(file!= null){ if(arylist== null) arylist= new ArrayList(); arylist.Add(file);} else{ ListFiles(files[i].FullName);//对于子目录,进行递归调用}}}} return arylist;}用第一个方法最直接,不用递归,不用遍历,但调用系统的方法,不知道内部原理怎么运行的。总体来说应该是第一种方法比第二种方法的性能要好!待进一步求证。删除一个文件夹下所有文件可以用如下文件方法。 void deleteAllFile(string path){ foreach(string dirStr in Directory.GetDirectories(path)){ DirectoryInfo dir= new DirectoryInfo(dirStr);} ArrayList folders=new ArrayList(); FileSystemInfo[] fileArr= dir.GetFileSystemInfos(); for(int i= 0; i< folders.Count; i++){ FileInfo f= folders[i] as FileInfo; if(f== null){ DirectoryInfo d= folders[i] as DirectoryInfo; d.Delete();}}}
C# DirectoryInfo GetFiles函数调用之后内存居高不下
DirectoryInfo currentFolder= new DirectoryInfo("E:\\File(25万)");
FileInfo[] lstFolderFiles= currentFolder.GetFiles("*.xml", SearchOption.AllDirectories);
....
您是想搜索所有XML啊....
那就最好别全用C#的封装代码
如果要用.....
使用CMD命令加/P制作
过程很复杂..要听么?
好吧我还是给你说吧
25W
很大的数字哦
CMD的DIR命令允许/P作为一屏显示,调用CMD并且获取其具体内容进行字符串解析即可..
private void ExecuteCmd(string command)
{
Process p= new Process();
p.StartInfo.FileName="cmd.exe";
p.StartInfo.UseShellExecute= false;
p.StartInfo.RedirectStandardInput= true;
p.StartInfo.RedirectStandardOutput= true;
p.StartInfo.CreateNoWindow= true;
p.Start();
p.StandardInput.WriteLine("DIR/P");
p.StandardInput.WriteLine("exit");
p.WaitForExit();//这里是关闭,记得删掉,不然你就只能获取第一屏了
this.textBox1.Text=textBox1.Text+ p.StandardOutput.ReadToEnd();
p.Close();//这个也不要撒.....
}
这是一个最基本的...
然后p.StandardOutput.ReadToEnd();
这个就是读出来的内容
你解析后.
给CMD输入ENTER.然后再获取.做一个循环即可
你试试吧
手敲的代码.不知道好不好用..保重..学长只能帮你到这里了...
DirectoryInfo类的属性
Attributes获取或设置当前文件或目录的特性。
CreationTime获取或设置当前文件或目录的创建时间。
CreationTimeUtc获取或设置当前文件或目录的创建时间,其格式为协调世界时(UTC)。
Exists获取指示目录是否存在的值。
Extension获取表示文件扩展名部分的字符串。
FullName获取目录或文件的完整目录。
.NET 4.5版本 DirectoryInfo新增属性
LastAccessTime获取或设置上次访问当前文件或目录的时间。
LastAccessTimeUtc获取或设置上次访问当前文件或目录的时间,其格式为协调世界时(UTC)。
LastWriteTime获取或设置上次写入当前文件或目录的时间。
LastWriteTimeUtc获取或设置上次写入当前文件或目录的时间,其格式为协调世界时(UTC)。
关于directoryinfo的内容到此结束,希望对大家有所帮助。