天天看點

從檔案路徑截取需要的内容

檔案路徑截取内容

在檔案的讀取、儲存操作時可能需要對路徑執行裁剪、拼接,比如擷取一個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就可以拿到想要的東西。自己拼接或拆分路徑時,可能會遇到并且需要處理多語言編碼的編碼問題、路徑中包含不同語言奇怪字元的問題,和不同語言下。和,互換的問題等等。

從檔案路徑截取需要的内容