簡體   English   中英

Java / groovy - 配置文件分隔符

[英]Java / groovy - configure file separator

我想強制路徑分隔符為正斜杠 (/),無論它運行在哪個操作系統上; 我想使用Paths.get(s1, s2)而不是String.join("/", s1, s2)

我正在開發一個與平台無關的應用程序(Windows 和 Linux),我需要在其中生成路徑。 可能會發生應用程序處理來自與當前運行的操作系統不同的操作系統的路徑(它可以連接到運行不同操作系統的不同存儲)。 因此,無論它在哪個操作系統上運行,我都可能將這些作為輸入(需要產生這些輸出):

它適用於:

Paths.get("/tmp",   "foo.jpg"); // Linux -> "/tmp/foo.jpg"
Paths.get("C:/tmp", "foo.jpg"); // Win   -> "C:/tmp/foo.jpg"

不是為了這個:

Paths.get("C:\tmp", "foo.jpg"); // XXX Expected: Win -> "C:/tmp/foo.jpg"

Windows 路徑使用正斜杠,即使默認使用反斜杠。 決定(不是由我決定)正斜杠將始終用作系統中的目錄分隔符。

有沒有辦法做到這一點而不是hacky? 目前它是用String.join() ,但 IMO 是 hacky。

一段時間前,我曾考慮過同樣的問題。 我使用 .replace() 方法來修復它。 只要它依賴於操作系統,你就不能概括一個解決方案。

繼續使用hacky技術:p

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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