在c#中,想要獲得一個文件夾下的所有子目錄以及文件十分簡單。
首先,獲取目錄的情況下,DirectoryInfo.GetDirectories():獲取目錄(不包含子目錄)的子目錄,返回類型為DirectoryInfo[],支持通配符查找;
其次,獲取文件的情況下, DirectoryInfo.GetFiles():獲取目錄中(不包含子目錄)的文件,返回類型為FileInfo[],支持通配符查找;
最后,DirectoryInfo. GetFileSystemInfos():獲取指定目錄下(不包含子目錄)的文件和子目錄,返回類型為FileSystemInfo[],支持通配符查找;
如何獲取指定文件的基本信息;
FileInfo.Exists:獲取指定文件是否存在;
FileInfo.Name,FileInfo.Extensioin:獲取文件的名稱和擴展名;
FileInfo.FullName:獲取文件的全限定名稱(完整路徑);
FileInfo.Directory:獲取文件所在目錄,返回類型為DirectoryInfo;
FileInfo.DirectoryName:獲取文件所在目錄的路徑(完整路徑);
FileInfo.Length:獲取文件的大小(字節數);
FileInfo.IsReadOnly:獲取文件是否只讀;
FileInfo.Attributes:獲取或設置指定文件的屬性,返回類型為FileAttributes枚舉,可以是多個值的組合
FileInfo.CreationTime、FileInfo.LastAccessTime、FileInfo.LastWriteTime:分別用於獲取文件的創建時間、訪問時間、修改時間;
想要獲取某一文件夾下的所有文件,通用的方法就是遍歷
public static void GetAllDir(string dir1) { List<string> list = new List<string>(); DirectoryInfo dir = new DirectoryInfo(dir); DirectoryInfo[] dirinfo = dir.GetDirectories(); for (int i = 0; i < dirinfo.Length; i++) { list.Add(dirinfo[i].FullName); GetAllDir(dirinfo[i].FullName); } for (int i = 0; i < list.Count; i++) { Console.WriteLine(list[i]); } }