我一直在嘗試讀取和寫入我的項目下我的資源目錄下的文件。但是,無論我做什麼,它都不允許我這樣做。無法從相對路徑讀取/寫入文件
這是我的項目層次結構以供參考:
出於所有這些:
Paths.get("memes.txt")
Paths.get("resources/memes.txt")
Paths.get("/resources/memes.txt")
...
都沒有奏效。我究竟做錯了什麼?
我一直在嘗試讀取和寫入我的項目下我的資源目錄下的文件。但是,無論我做什麼,它都不允許我這樣做。無法從相對路徑讀取/寫入文件
這是我的項目層次結構以供參考:
出於所有這些:
Paths.get("memes.txt")
Paths.get("resources/memes.txt")
Paths.get("/resources/memes.txt")
...
都沒有奏效。我究竟做錯了什麼?
是它是一個Maven項目? 試試這個:
//Get file from resources folder
ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource(fileName).getFile());
編號:https://www.mkyong.com/java/java-read-a-file-from-resources-folder/
使用「../resources/memes.txt」與試試吧「」你從當前文件轉到上一級目錄(我假設你正在使用SwearTest.java代碼)
儘管如此,它仍然會拋出「線程異常」main「java.nio.file.NoSuchFileException:.. \ resources \ memes.txt」。是的,我正在使用SwearTest.java中的代碼 –
您的應用程序可以被打包爲.jar文件 - ZIP格式。 那裏,或者在建的classes目錄下應該是memes.txt
。一個所謂的資源,以及在jar文件不是真正的文件系統文件的情況下。但是位於班級路徑上。
URL url = getClass().getResource("/memes.txt");
InputStream in = getClass().getResourceAsStream("/memes.txt");
該路徑是相對於類的包目錄,或絕對如上。
[如何真正從Java中的類路徑讀取文本文件]可能的副本(http://stackoverflow.com/questions/1464291/how-to-really-read-text-file-from-classpath-in-java ) – Matt