【问题标题】:Cannot read file with same URL and same file structure on different computer无法在不同的计算机上读取具有相同 URL 和相同文件结构的文件
【发布时间】:2017-04-01 09:54:05
【问题描述】:

所以我编写了一个小应用程序,它使用代表文件路径的字符串,这样我就可以创建一个文件,然后创建一个缓冲图像。对于这个例子,我省略了不相关的代码:

public class MorphImage {
private final String URL0 = "pic1.jpg";

//....

URL url = getClass().getResource(URL0);
File file = new File(url.getPath());
BufferedImage img = ImageIO.read(file);

我的文件结构如下:

 projectName
            src
               package1
                       MorphImage.java
                       pic1.jpg

在我运行 Windows 10 的笔记本电脑上,这工作得很好,但在我的 Windows 8 电脑上使用完全相同的项目,我在最后一行得到一个 IIOException: Can't read file!。两台计算机使用相同的 Eclipse 版本和相同的 JDK 版本。我不确定在这里做什么。我在我的 Windows 8 机器上尝试了许多不同的文件路径,但只会抛出 NP,所以路径是正确的。

编辑:下面的解决方案:

    URL defaultImage = MorphImage.class.getResource(URL0);
    File file = new File(defaultImage.toURI());
    BufferedImage img = ImageIO.read(file);

【问题讨论】:

    标签: java url filepath ioexception


    【解决方案1】:

    尝试获取资源流,文件路径如下

    getClass().getClassLoader().getResourceAsStream("package1/pic1.jpg");

    【讨论】:

    • 这确实有效,谢谢,将编辑我的帖子的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-19
    • 2022-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多