2016-08-16 122 views
1

我一直在嘗試讀取和寫入我的項目下我的資源目錄下的文件。但是,無論我做什麼,它都不允許我這樣做。無法從相對路徑讀取/寫入文件

這是我的項目層次結構以供參考:

enter image description here

出於所有這些:

Paths.get("memes.txt") 
Paths.get("resources/memes.txt") 
Paths.get("/resources/memes.txt") 
... 

都沒有奏效。我究竟做錯了什麼?

+3

[如何真正從Java中的類路徑讀取文本文件]可能的副本(http://stackoverflow.com/questions/1464291/how-to-really-read-text-file-from-classpath-in-java ) – Matt

回答

0

使用「../resources/memes.txt」與試試吧「」你從當前文件轉到上一級目錄(我假設你正在使用SwearTest.java代碼)

+0

儘管如此,它仍然會拋出「線程異常」main「java.nio.file.NoSuchFileException:.. \ resources \ memes.txt」。是的,我正在使用SwearTest.java中的代碼 –

1

您的應用程序可以被打包爲.jar文件 - ZIP格式。 那裏,或者在建的classes目錄下應該是memes.txt。一個所謂的資源,以及在jar文件不是真正的文件系統文件的情況下。但是位於班級路徑上。

URL url = getClass().getResource("/memes.txt"); 
InputStream in = getClass().getResourceAsStream("/memes.txt"); 

該路徑是相對於類的包目錄,或絕對如上。