2016-06-23 55 views
0

我有一些代碼,使用在我的項目的子文件夾中的文本文件在eclipse中:./data/subfolder/test。 TXTJava:java.lang.Error:構建jar文件後的java.io.FileNotFoundException

的文件夾結構是這樣的:許多文件

Projectname 
> src 
>> mainpackage 
>>> Main.java (this is executed when the jar is called) 
> data 
>> subfolder 
>>> test.txt 

不幸的是整個代碼consits,所以我不能在這裏發佈,但該代碼工作正常。

現在我將項目導出爲jar包,並將其命名爲jar文件。當這樣做時,我得到FileNotFoundException。我需要做什麼,如果項目導出爲jar文件,還可以找到外部文件?

我需要做一些工作嗎?有誰知道如何做到這一點?

任何建議是有幫助的!謝謝!

+0

你能交/這裏截圖文件夾結構弄個? – aksappy

+0

文本文件是否是你的jar文件的一部分? –

+0

@RahulYadav:我實際上不知道我只是將項目導出爲jar文件。我從來沒有這樣做過。我怎麼知道它是否是jar的一部分? – progNewbie

回答

1

如果您使用Eclipse的導出到jar功能,請將程序依賴的文件包含在src文件夾內。

更新結構看起來像這樣

Projectname 
> src 
>> test.txt 
>> mainpackage 
>>> Main.java (this is executed when the jar is called) 

並在程序中,你可以很容易地通過使用

InputStream is = this.getClass().getResourceAsStream("test.txt"); 
+0

感謝您的解決方案。然而,上面提到的文件不是我使用的唯一文件。那麼是否有可能在不改變整個文件夾結構的情況下解決這個問題? – progNewbie

+0

另一種方法是將根文件夾路徑作爲java參數傳遞。但是這樣,每次應用程序只有在知道傳遞的參數後才能啓動。 – aksappy

+0

我有其他的參數要通過,所以這不應該是一個問題。但是在傳遞根文件夾之後我該做什麼? – progNewbie