2015-06-06 13 views
0

我目前使用eclipse進行Java開發。 任何人都可以解釋爲什麼使用類FileReader時,文件放在src目錄下的原因?有時使用getClass()。getResourceAsStream(「...」)等方法讀取圖像時,必須將文件放在bin目錄下?有沒有方法getClass()。getResourceAsStream(「...」)需要src目錄下的文件的替代品?在什麼情況下要讀取的文件應放在bin目錄或src目錄下?

回答

6

您作爲開發商把沒有在bin目錄,你只有把東西在srcresources目錄,當IDE - 或任何其他構建工具 - 建立你的項目,然後生成的類文件和其他資源都投入到bin目錄。

資源,位於bin目錄 - 在你隨後的文物捆綁.jar.war等 - 在你的應用程序的classpath且可由類加載器,這使得能夠裝入的類,使您能夠找到訪問資源使用getClass().gerResourceAsStream()

+0

然而,許多教程使用從bin目錄中讀取文件的方法getClass()。gerResourceAsStream(),那麼應該使用哪種方法呢? – Oscar

+0

從bin目錄中讀取文件_不正確,它用於從'classpath'中讀取,'bin'目錄不存在於最終的工件中,例如'.jar'文件(將項目導出爲jar文件並用你最喜歡的zip文件管理器打開它,你會看到沒有bin目錄!)。因此,您需要知道位於應用程序'classpath'中的資源之間的差異,您可以使用'gerResourceAsStream()'和資源,這些資源位於'filesystem'上,您可以使用java.io. * ',你在哪裏找到一個文件取決於你/你的需求。 – A4L

相關問題