portability flaw : file separator (可移植性缺陷:文件分隔符)


 portability flaw : file separator (可移植性缺陷:文件分隔符)

問題產生原因: 主要是文件地址上采用硬編碼導致 如 “\\”

 

解決方案:

采用:Path.Combine Path.DirectorySeparatorChar

 

 例如:

FileStream f = File.Create(@"E:\Demo\SecurityDemo\SecurityDemo\MyFile.txt");

 

可改成

FileStream f1 = File.Create(Path.Combine(
                string.Format(@"E:{0}Demo{0}SecurityDemo{0}SecurityDemo{0}MyFile.txt", Path.DirectorySeparatorChar)));

 

 

參考文檔

目錄分隔符 

Path.DirectorySeparatorChar 字段

public static readonly char DirectorySeparatorChar

提供平台特定的字符,該字符用於在反映分層文件系統組織的路徑字符串中分隔目錄級別。

在該字段中存儲的字符不能位於 InvalidPathChars 中。AltDirectorySeparatorChar 和 DirectorySeparatorChar 都適用於在路徑字符串中分隔目錄級別。

該字段的值在 Unix 上為斜杠(“/”),在 Windows 和 Macintosh 操作系統上為反斜杠(“\”)。

 

替換分隔符

Path.AltDirectorySeparatorChar

public static readonly char AltDirectorySeparatorChar

提供平台特定的替換字符,該替換字符用於在反映分層文件系統組織的路徑字符串中分隔目錄級別。

在此字段中存儲的字符不能位於 InvalidPathChars 中。該字段可被設置為與 DirectorySeparatorChar 相同的值。AltDirectorySeparatorChar 和 DirectorySeparatorChar 都適用於在路徑字符串中分隔目錄級別。

該字段的值在 Unix 上為反斜杠(“\”),在 Windows 和 Macintosh 操作系統上為斜杠(“/”)。

 

環境變量中路徑分隔符

Path.PathSeparator

public static readonly char PathSeparator

用於在環境變量中分隔路徑字符串的平台特定的分隔符。在基於 Windows 的桌面平台上,默認情況下該字段的值是分號 (;),但在其他平台上可能會有所不同。

 

卷分隔符

Path.AltDirectorySeparatorChar

public static readonly char VolumeSeparatorChar

提供平台特定的卷分隔符。該字段的值在 Windows 和 Macintosh 上為冒號(“:”),在 Unix 操作系統上為斜杠(“/”)。這對於分析像“c:\windows”或“MacVolume:System Folder”這樣的路徑最為有用。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM