【发布时间】:2010-10-12 18:30:42
【问题描述】:
好的,我正在尝试使用以下代码在 Java 中加载文件:
String file = "map.mp";
URL url = this.getClass().getResource(file);
System.out.println("url = " + url);
FileInputStream x = new FileInputStream("" + url);
尽管文件与类位于同一文件夹中,但它说找不到它(是的,它是在完整代码的 try catch 块中)。
但是,它会找到另一个使用相同代码但名称不同的文件:
URL url = this.getClass().getResource("default.png");
System.out.println("url2 = " + this.getClass().getResource("default.png"));
BufferedImage img = ImageIO.read(url);
为什么我的代码找不到我的 map.mp 文件?
【问题讨论】:
-
在一个完全不相关的注释中,url.toString() 比 "" + url 更有效(也更好)。
-
我们应该假设它抛出了 FileNotFoundException 吗?
-
那么当你运行它时会打印出什么?我猜问题是 FileInputStream 不喜欢 URL。
-
嘿,我应该在最后一条评论之前刷新页面。