2017-01-16 24 views
0

我目前在intellij中編寫了一個Java/kotlin項目,並且必須使用文件讀取器來獲取XML和其他基於文本的文件。任何地方的參考項目目錄

我已經創建了一個名爲files的目錄,爲此我存儲了所有必需的文件。

我遇到的問題是,我需要爲每個方法調用引用文件目錄的新路徑,因爲它根據調用方法的目錄而不同。

有引用項目的根目錄或文件的目錄,並將它工作無處不在,像System.getDirectory(「文件」或「根」)等

我目前使用System.getProperty方式(「user.dir」),但是這個路徑對於它被調用的地方是主觀的,因此不是我正在尋找的。

+1

*因爲它根據哪個文件從*調用而有所不同,因此它*:不,它不是。相對路徑相對於**當前**目錄,即執行'java'的目錄。如果您從IDE運行,那麼通常是項目根目錄,除非您在運行配置中明確指定了其他內容。 –

+0

'我已經創建了一個名爲files'的目錄:你究竟在哪裏創建了這個目錄?你如何開始你的項目? – t0r0X

回答

1

如果您的文件與應用程序捆綁在一起,請使用資源並從類路徑加載它們。否則,我建議將配置支持或命令行參數添加到您的應用程序,讓調用者指定這些文件的位置。依靠計算出'當前目錄'容易出錯並受環境影響(在你的情況下,無論Intellij中'運行配置'指定哪個目錄,通常都是maven項目中的$ MODULE_DIR $)。