2016-08-16 118 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"); 

该路径是相对于类的包目录,或绝对如上。