[英]Java Properties, getting file path
logpath = LoggerUtils.getProperties().getProperty("log.path");
System.out.println("logpath: " + logpath);
上面的代碼返回:
logpath: C:UsersMauriceDesktopLogs
在屬性文件中是:
log.path C:\Users\Maurice\Desktop\Logs
如何保留文件分隔符? 我希望這也適用於Linux,而不僅僅是Windows。
實際上,您需要將其放在屬性文件中:
log.path C:\\Users\\Maurice\\Desktop\\Logs
看到這個:
更精確的load
方法:
向下滾動一下,您會看到以下內容:
該方法不會在非有效轉義字符作為錯誤之前處理反斜杠字符\\; 反斜杠被默默地刪除。 例如,在Java字符串中,序列“\\ z”將導致編譯時錯誤。 相反,這種方法會默默地刪除反斜杠。 因此,此方法將兩個字符序列“\\ b”視為等同於單個字符“b”。
反斜杠\\
是一個以其他方式靜默刪除的轉義字符。
在屬性文件中,您需要使用正斜杠:
C:/Users/Maurice/Desktop/Logs
或者,轉義反斜杠:
C:\\Users\\Maurice\\Desktop\\Logs
您需要轉義斜杠,因為它們是特殊字符。 請參閱: Java屬性反斜杠
Java 屬性文件格式規定反斜杠字符(“ \\
”)轉義后面的字符,因此要獲得文字窗口路徑,您必須具有:
logpath: C:\\Users\\Maurice\\Desktop\\Logs
但是,Java會自動為您轉換路徑分隔符,以適應運行時平台,因此您可以通過始終使用正斜杠來避免這種麻煩:
logpath: C:/Users/Maurice/Desktop/Logs
您可以先將 Properties
存儲到文件,然后再次加載以使用。 Properties
將負責逃避/取消任何事情。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.