我的项目结构是这样的
--src
--------------资源
--------------保存
我多次使用此子文件夹,如下所示:
File tempFile = new File("src/saves/" + videoName + ".json");
或者有时像这样:
ImageView icon = new ImageView("resources/edit.png");
和:
File f = new File("src/resources/zelda.mp4");
由于某些原因,它适用于图标
,但不适用于视频/文件,当我尝试时出现此错误:
Caused by: MediaException: MEDIA_UNAVAILABLE : C:\Users\histackoverflow\IdeaProjects\project2\resources\zelda.mp4 (specified path can't be found)
所以我想知道我使用路径的方式有什么问题?
最佳答案
@Edit:这对于在 IDE 中引用文件非常有效。对于 jar 中适当的文件引用,请按照以下步骤操作:Java Jar file: use resource errors: URI is not hierarchical
我不建议以字符串形式输入路径。加载文件的更好方法是将它们放入资源中(您已经这样做了)并通过类引用调用资源并从中获取 URI:
InputStream file = new FileInputStream(getClass().getResource("/edit.png").getPath());
Image image = new Image(file);
ImageView icon = new ImageView(image);
File f = new File(getClass().getResource("/zelda.mp4").toURI());
确保您的资源目录被标记为资源目录。
关于java - 如何正确指定路径以从项目的子目录中打开文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56210139/