文件路徑截取內容
在文件的讀取、保存操作時可能需要對路徑執行裁剪、拼接,比如獲取一個text文件的目錄位置,返回指定字符串的文件名和擴展名。確定路徑是否包含文件夾擴展名等等。而我們自己寫的方法很多時候,在多語言處理或者截取字符串長度時容易出現問題。這篇主要是梳理System.IO.Path命名空間下提供的函數能實現對應的哪些功能,通過這些函數我們不需要自己在去寫對應的截取路徑代碼。
private void Window_Loaded(object sender, RoutedEventArgs e)
{
string filePath = @"d:\duwenlong\test\path.txt";
FilePathTextBox.Text += $"文件路徑: {filePath}\r\n";
FilePathTextBox.Text += $"更改路徑字符串的擴展名: \r\n";
FilePathTextBox.Text += System.IO.Path.ChangeExtension(filePath, "zip") + "\r\n";
FilePathTextBox.Text += $"返回指定路徑字符串的目錄信息: {filePath}\r\n";
FilePathTextBox.Text += System.IO.Path.GetDirectoryName(filePath) + "\r\n";
FilePathTextBox.Text += "返回指定的路徑字符串的擴展名。\r\n";
FilePathTextBox.Text += System.IO.Path.GetExtension(filePath) + "\r\n";
FilePathTextBox.Text += "返回指定路徑字符串的文件名和擴展名。\r\n";
FilePathTextBox.Text += System.IO.Path.GetFileName(filePath) + "\r\n";
FilePathTextBox.Text += "返回不具有擴展名的指定路徑字符串的文件名。\r\n";
FilePathTextBox.Text += System.IO.Path.GetFileNameWithoutExtension(filePath) + "\r\n";
FilePathTextBox.Text += "獲取指定路徑的根目錄信息。\r\n";
FilePathTextBox.Text += System.IO.Path.GetPathRoot(filePath) + "\r\n";
FilePathTextBox.Text += "返回隨機文件夾名或文件名。\r\n";
FilePathTextBox.Text += System.IO.Path.GetRandomFileName() + "\r\n";
FilePathTextBox.Text += "創建磁盤上唯一命名的零字節的臨時文件並返回該文件的完整路徑。\r\n";
FilePathTextBox.Text += System.IO.Path.GetTempFileName() + "\r\n";
FilePathTextBox.Text += "返回當前系統的臨時文件夾的路徑。\r\n";
FilePathTextBox.Text += System.IO.Path.GetTempPath() + "\r\n";
FilePathTextBox.Text += "確定路徑是否包括文件擴展名。\r\n";
FilePathTextBox.Text += System.IO.Path.HasExtension(filePath) + "\r\n";
FilePathTextBox.Text += "獲取一個值,該值指示指定的路徑字符串是包含絕對路徑信息還是包含相對路徑信息。\r\n";
FilePathTextBox.Text += System.IO.Path.IsPathRooted(filePath) + "\r\n";
}
一般工作時從路徑字符串中獲取需要對應的信息,使用上面的API就可以拿到想要的東西。自己拼接或拆分路徑時,可能會遇到並且需要處理多語言編碼的編碼問題、路徑中包含不同語言奇怪字符的問題,和不同語言下。和,互換的問題等等。