在 .NET 中處理長度超過 259 個字元的檔案路徑
標準 .NET 檔案存取方法(例如 FileInfo
)具有 259 個字元的路徑長度限制 (MAX_PATH)。 本文探討了處理較長文件路徑的解決方法。
Unicode 和長路徑支援
解決方案涉及利用長路徑語法,並以 \?\
開頭。這與對 Win32 API 函數的 Unicode 版本的 P/Invoke 呼叫相結合,繞過了限制長路徑處理的 Windows API 限制。 此語法可防止某些導致較長路徑問題的檔案名稱規範化。
.NET 框架相容性
.NET Framework 4.6.2 及更高版本直接支援這種長路徑語法。 舊版需要使用長路徑語法和 Unicode Win32 API 手動實作。
.NET Core 和 .NET
.NET Core 及更高版本的 .NET 版本原生支援長路徑,在需要時自動套用長路徑語法。
重要注意事項
與其他應用程式和 Windows shell 的兼容性至關重要。 某些 API 可能不支援長路徑。 此外,使用 \?\
語法的路徑可能需要直接 Windows API 調用,因為 .NET Framework 可能無法在所有情況下完全支援此語法。
以上是如何在.NET中存取路徑長度超過259個字元的檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!