gpt4 book ai didi

java - 文件未找到。为什么不?

转载 作者:搜寻专家 更新时间:2023-11-01 01:01:23 25 4
gpt4 key购买 nike

好的,我正在尝试使用以下代码在 Java 中加载一个文件:

String file = "map.mp";
URL url = this.getClass().getResource(file);
System.out.println("url = " + url);
FileInputStream x = new FileInputStream("" + url);

尽管该文件与它说它找不到它的类位于同一文件夹中(是的,它在完整代码中的 try catch block 中)。

但是,它会找到另一个使用相同代码但名称不同的文件:

URL url = this.getClass().getResource("default.png");
System.out.println("url2 = " + this.getClass().getResource("default.png"));
BufferedImage img = ImageIO.read(url);

为什么我的代码找不到我的 map.mp 文件?

最佳答案

您正在尝试将 url 当作文件名来使用。不会的。它将以 file:// 开头。在其他部署场景中,可能根本没有要打开的实际文件——例如,它可能位于 jar 文件中。如果确实需要,您可以使用 URL.getFile() - 但最好不要使用。

使用 getResourceAsStream 而不是 getResource() - 直接为您提供 InputStream。或者,如果您需要其他内容的 URL,请继续使用 getResource(),然后使用 URL.openStream() 获取数据。

关于java - 文件未找到。为什么不?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/636046/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com