2017/01/31

【C#】資料夾字串處理相關函式

取得系統特殊資料夾字串

string path = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures);    //取得『我的圖片』路徑,尾端不包含"\"
以下列出可能常用的路徑,其他特殊路徑可參考這裡

DesktopDirectory 表示用來實際儲存桌面上檔案物件的目錄。
MyComputer [我的電腦] 資料夾。
MyDocuments [我的文件] 資料夾。
MyMusic [我的音樂] 資料夾。
MyPictures [我的圖片] 資料夾。
MyVideos [我的影片] 資料夾。

取得路徑部分字串

path.getdirectoryname(string path);             //取得路徑父資料夾名稱
path.getfilename(string path);                  //取得完整檔名,包含附檔名
Path.GetFileNameWithoutExtension(string path);  //取得檔案名稱,不包含附檔名
path.getextension(string path);                 //取得副檔名
要注意的是以上四個方法都不會判斷路徑是否存在,只是單純對字串進行操作。
另外如果提供給getdirectoryname的路徑是一個資料夾,會回傳其父資料夾而非資料夾本身。

判斷檔案/資料夾是否存在
Directory.Exists(string path)    //回傳資料夾是否存在
File.Exists(string path)         //回傳檔案是否存在


創造資料夾路徑

using System.IO;                           //必要的命名空間
Directory.CreateDirectory(string path);    //創造資料夾
如果建立的資料夾有多個階層,可以直接產生而不用一個個製作每個資料夾。


取代/去除字串中無法作為資料夾字元的字

string.Replace("\\","").Replace("/", "").Replace(":", "").Replace("*", "").Replace("?", "").Replace("\"", "").Replace("<", "").Replace(">", "").Replace("|", "");    //把不能使用的字元都移除
建立資料夾時如果使用的字串有不可使用的字元會產生錯誤。


在不足N碼的數字前補0並轉為字串

number.ToString().PadLeft(3, '0');    //於int型態number前面補0到3位並轉為字串

取得資料夾底下所有符合條件的檔案(完整路徑)

string[] fileList = Directory.GetFiles( pahtEndWith\\ , "*.jpg");
附帶說明,針對矩陣調用矩陣長度
fileList.GetLength(0)
0=將矩陣視為一維矩陣計數

沒有留言: