我一直在尝试读取和写入项目资源目录下的文件。但是,无论我做什么,它都不允许我这样做。
这是我的项目层次结构供参考:
所有这些:
Paths.get("memes.txt")
Paths.get("resources/memes.txt")
Paths.get("/resources/memes.txt")
...
没有效果。我做错了什么?
答案 0 :(得分:1)
这是一个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/
答案 1 :(得分:1)
您的应用可以打包为.jar文件 - zip格式。
那里,或者在构建的类目录中应该是memes.txt
。一个所谓的资源,如果jar不是真正的文件系统文件。但是位于班级路径上。
URL url = getClass().getResource("/memes.txt");
InputStream in = getClass().getResourceAsStream("/memes.txt");
路径相对于类的包目录,或者与上面的绝对路径相同。
答案 2 :(得分:0)
尝试使用" ../ resources / memes.txt"用" .."你从当前文件上升一个目录(我假设你使用的是SwearTest.java中的代码)