2017-03-05 103 views
0

現在,當我在eclipse中完成這項工作時,它的工作方式很好,但是當我將它導出到jar文件並運行它時,出現錯誤。我認爲這是因爲從jar文件獲取文件是不同的。閱讀JAR中的文件

錯誤我有

C:\Users\computer\res\levels\savelevel.png 
(The system cannot find the path specified) 

我的代碼

ImageIO.write(image, "png", 
new File(System.getProperty("user.dir") + "/res/levels/savelevel.png")); 

我想在這裏做的是我想寫使用另一圖像的圖像。

+1

哪個錯誤?後例外。文件Not Found? – efekctive

+0

C:\ Users \ computer \ res \ levels \ savelevel.png(系統找不到指定的路徑) – space1188

+0

只要閱讀任何答案,他們都會幫助你。如果你需要修改一個jar文件,你可以使用jar工具(旋轉子進程) – efekctive

回答

1

當你想閱讀你應該使用類似getClass().getResource("a/path/relative/to/the/package/of/your/loading/class")東西從JAR。現在,如果你想寫,我不記得是否有可能改變你正在運行的jar文件,但無論如何我強烈建議你不要這樣做。

正如Srikanth指出的那樣,如果需要提及的話,該jar必須在你的類路徑中可用。

+1

爲了這個工作,jar應該在課堂路徑中。 –

+0

好吧,我假設有問題的jar是應用程序運行的jar。 – Dici

+0

它不需要,因爲它是一個圖像。即使在其他情況下,他也可以將該jar添加到課程路徑中。要點是 - 記下這個jar應該放在課程路徑中。 –

0

geIO.write(圖像,「PNG」,新文件(System.getProperty(「user.dir來」)看起來不罐內,這是本地文件系統路徑

+0

然後我會如何讓它看着罐子? – space1188

+0

執行關於如何使用java加載資源的搜索 – efekctive

+0

@ space1188 https://docs.oracle.com/javase/8/docs/api/java/util/jar/package-summary.html – efekctive