Windows下的路徑分隔符和Linux下的路徑分隔符是不一樣的,當直接使用絕對路徑時,跨平臺會暴出“No such file or diretory”的異常。
在windows中路徑爲:D:\usr
linux中:/usr/local
\ 和/ 但是又因爲\在java中有轉譯的意思
Matcher.quoteReplacement方法就是將\轉爲普通的;如下:
javaFile類的部分靜態字段,來源網絡:
所以如果直接將.轉爲File.separator,在windows上會報錯的:
路徑轉換的正確寫法:
packName.replaceAll("\\.", Matcher.quoteReplacement(File.separator))