本主題中存在很多混淆。有人問了幾個問題。事情似乎還不清楚。 的ClassLoader,絕對文件路徑等等等等Java中項目文件夾的絕對路徑
假設我有一個項目的目錄結構,
MyProject-- --dist --lib --src --test
我有一個資源說,在「LIB/TXT」目錄「txtfile.txt」。我想以系統獨立的方式訪問它。我需要項目的絕對路徑。 所以我可以代碼路徑作爲ABSPATH +「/ lib目錄/詞典/ txtfile.txt」
想我這樣做
java.io.File file = new java.io.File(""); //Dummy file
String abspath=file.getAbsolutePath();
我得到的當前工作目錄這不一定是項目的根。
想我從其中也包含「LIB/TXT/txtfile.txt」目錄結構和資源的「DIST」文件夾執行最終的「prj.jar」,它應該在這裏工作過。我應該絕對路徑的dist文件夾。
希望問題清楚。
而且我覺得這種做法仍限於「UNIX」像目錄結構平臺,追加「/ lib目錄/字典/txtfile.txt「在Windows上將由於前向和反向差異而導致混亂! :| – 2010-07-09 04:49:11
實際上,Java並不關心斜槓方向,儘管你只能明確指定非根驅動器,因爲'/'指向當前磁盤的根目錄。 – 2010-07-09 04:53:09
System.getProperty(「file.separator」)將返回Windows環境的「\」和Unix(和類Unix)的返回值「/」。 – Catchwa 2010-07-09 04:57:41