簡體   English   中英

Java屬性,獲取文件路徑

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM