C#路徑的八種相關(guān)操作
1、判定一個(gè)給定的C#路徑是否有效,合法
通過(guò)Path.GetInvalidPathChars或Path.GetInvalidFileNameChars方法獲得非法的C#路徑/文件名字符,可以根據(jù)它來(lái)判斷路徑中是否包含非法字符;
2、如何確定一個(gè)C#路徑字符串是表示目錄還是文件
使用Directory.Exists或File.Exist方法,如果前者為真,則路徑表示目錄;如果后者為真,則路徑表示文件
上面的方法有個(gè)缺點(diǎn)就是不能處理那些不存在的文件或目錄。這時(shí)可以考慮使用Path.GetFileName方法獲得其包含的文件名,如果一個(gè)路徑不為空,而文件名為空那么它表示目錄,否則表示文件;
3、獲得C#路徑的某個(gè)特定部分
Path.GetDirectoryName:返回指定路徑字符串的目錄信息。
Path.GetExtension:返回指定的路徑字符串的擴(kuò)展名。
Path.GetFileName:返回指定路徑字符串的文件名和擴(kuò)展名。
Path.GetFileNameWithoutExtension:返回不具有擴(kuò)展名的路徑字符串的文件名。
Path.GetPathRoot:獲取指定路徑的根目錄信息。
4、準(zhǔn)確地合并兩個(gè)路徑而不用去擔(dān)心那個(gè)煩人的“\”字符
使用Path.Combine方法,它會(huì)幫你處理煩人的“\”。
5、獲得系統(tǒng)目錄的路徑
Environment.SystemDirectory屬性:獲取系統(tǒng)目錄的完全限定路徑
Environment.GetFolderPath方法:該方法接受的參數(shù)類型為Environment.SpecialFolder枚舉,通過(guò)這個(gè)方法可以獲得大量系統(tǒng)文件夾的路徑,如我的電腦,桌面,系統(tǒng)目錄等
Path.GetTempPath方法:返回當(dāng)前系統(tǒng)的臨時(shí)文件夾的路徑
6、判斷一個(gè)C#路徑是絕對(duì)路徑還是相對(duì)路徑
使用Path.IsPathRooted方法
7、讀取或設(shè)置當(dāng)前目錄
使用Directory類的GetCurrentDirectory和SetCurrentDirectory方法
8、使用相對(duì)路徑
設(shè)置當(dāng)前目錄后(見(jiàn)上個(gè)問(wèn)題),就可以使用相對(duì)路徑了。對(duì)于一個(gè)相對(duì)路徑,我們可以使用Path.GetFullPath方法獲得它的完全限定路徑(絕對(duì)路徑)。
注意:如果打算使用相對(duì)路徑,建議你將工作目錄設(shè)置為各個(gè)交互文件的共同起點(diǎn),否則可能會(huì)引入一些不易發(fā)現(xiàn)的安全隱患,被惡意用戶利用來(lái)訪問(wèn)系統(tǒng)文件。
9、文件夾瀏覽對(duì)話框(FolderBrowserDialog類)
主要屬性:Description:樹(shù)視圖控件上顯示的說(shuō)明文本,如上圖中的“選擇目錄--練習(xí)”;RootFolder:獲取或設(shè)置從其開(kāi)始瀏覽的根文件夾,如上圖中設(shè)置的我的電腦(默認(rèn)為桌面);SelectedPath:獲取或設(shè)置用戶選定的路徑,如果設(shè)置了該屬性,打開(kāi)對(duì)話框時(shí)會(huì)定位到指定路徑,默認(rèn)為根文件夾,關(guān)閉對(duì)話框時(shí)根據(jù)該屬性獲取用戶用戶選定的路徑;ShowNewFolderButton:獲取或設(shè)置是否顯示新建對(duì)話框按鈕;
主要方法:ShowDialog:打開(kāi)該對(duì)話框,返回值為DialogResult類型值,如果為DialogResult.OK,則可以由SelectedPath屬性獲取用戶選定的路徑;
【編輯推薦】