標籤:tostring city 分享圖片 ret returns cto 檔案夾 view nts
情境描述:
需要擷取指定路徑的檔案資訊,然後對檔案進行操作
一、擷取檔案資訊,組成一個DataTable資訊。
/// <summary> /// 擷取指定目錄下,檔案資訊 /// </summary> /// <param name="path">絕對路徑</param> /// <returns></returns> public DataTable GetInfo(string path) { string fileName = "", fileType = "", capacity = "", editTime = "", dir = "", file = ""; DataTable dt = new DataTable(); dt.Columns.Add("fileName"); dt.Columns.Add("fileType"); dt.Columns.Add("capacity"); dt.Columns.Add("editTime"); dt.Columns.Add("dir"); dt.Columns.Add("file"); DirectoryInfo di = new DirectoryInfo(path); foreach (FileSystemInfo fsi in di.GetFileSystemInfos()) { DataRow nrow = dt.NewRow(); if (fsi is FileInfo)//如果是檔案 { FileInfo fi = (FileInfo)fsi; fileName = fi.Name;//擷取檔案名稱 file = fi.FullName;//擷取完整目錄 if (fi.Extension.Length < 1)//如果副檔名小於一 { fileType = ""; } else { fileType = fi.Extension.Remove(0, 1);//擷取副檔名 } dir = fi.Directory.ToString(); capacity = pub.FileCountSize(Convert.ToInt32(fi.Length.ToString()));//計算檔案大小 editTime = fi.LastWriteTime.ToString();//擷取最後一次修改時間 } else //如果是檔案夾 { di = (DirectoryInfo)fsi; fileName = di.Name; dir = di.FullName; file = ""; fileType = "檔案夾"; capacity = ""; editTime = di.LastWriteTime.ToString(); } nrow["fileName"] = fileName; nrow["fileType"] = fileType; nrow["capacity"] = capacity; nrow["editTime"] = editTime; nrow["dir"] = dir; nrow["file"] = file; dt.Rows.Add(nrow); } dt.DefaultView.Sort = "editTime desc"; return dt; }
二、調用GetInfo方法,展示檔案資訊,結果如下
C# 擷取檔案基本資料