2016-09-15 249 views
0

我有一些問題讓我的項目工作的可執行jar文件(在Eclipse IDE之外)。我想通了這個問題與Java的罐子fileName.jar可執行Jar文件FileNotFoundException

下面的代碼:

fileIn = new Scanner(new File("src//resources//TestSave.txt")); 

通過一個小故障診斷和研究,我明白,這不是在可執行的JAR工作,因爲它不有一個src文件夾,只能在IDE中創建。這裏是我的解決辦法:

fileIn = new Scanner(new File("D://resources//TestSave.txt")); 

與此唯一的問題是,如果我想要把這個節目對我的簡歷,然後誰曾觀看它必須將文件夾放置到他們d驅動器。我希望它快速簡單,以便他們可以毫不費力地查看我的項目。

如何在不需要引用/創建任何外部文件夾的情況下訪問可執行jar文件本身內的資源文件夾?

+0

使用中ClassLoader.getResources()在這裏看到http://stackoverflow.com/questions/1429172/how-do-i-list-the-files-inside-a-jar-file – Guenther

+0

[從jar中讀取資源文件]可能的副本(http://stackoverflow.com/questions/20389255/reading- a-resource-file-from-within-jar) – VGR

+0

看看我的回答r [這個問題](http://stackoverflow.com/questions/38483934/cannot-read-a-property-file-in-java-6-in-a-runnable-jar/38485873#38485873);它可能會幫助你;也請閱讀我的評論以回答問題。 – ujulu

回答

0

您有兩種選擇。

  1. 將文件放在同一個文件中可執行的JAR fileIn = new Scanner(new File("./TestSave.txt"));

  2. 關注這個帖子reading-a-resource-file-from-within-jar

+0

我不熟悉InputStreams和BufferReader,我是否假設他們的工作方式分別與File type class和Scanner type相同? – jaycalli

+0

@jaycalli這真的取決於你想要做什麼內容。如果你想閱讀整個文件,你可以使用這樣的[/how-to-convert-inputstream-to-string-in-java](https://www.mkyong.com/java/how-to-convert -inputstream到字符串中的Java /)。我的建議是花一些時間來理解InputStream和BufferReader的概念,如果您打算在簡歷中使用與之相關的內容。 – r00tt