从指定路径加载的图像

时间:2013-08-12 12:50:15

标签: java swing

当我从我的项目scr目录中提供图像的绝对路径时,它会加载图像,但是当我尝试从指定路径或相对路径加载图像时,它会显示空错误,它不会读取图像。
我特意使用JFilechooser目录获取路径,它只显示.jpg图像并将文件列表提供给文件类型并逐个存储在字符串变量中,然后使用该变量加载图像。 / p>

我的代码:

final String fpath;
final File dir = new File("");
final JFileChooser file;
file = new JFileChooser();
file.setCurrentDirectory(dir);
file.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
file.showOpenDialog(contentPane);
final File[] lofFile = file.getCurrentDirectory().listFiles();

for (int i = 0; i < a; i++) {
    if (lofFile[i].toString().substring(lofFile[i].toString().lastIndexOf(".") + 1).equals("jpg")) {
        az = lofFile[i].toString();
    }
}

private BufferedImage bg;
bg = ImageIO.read(getClass().getResource(az));

引发此异常:

  

java.lang.IllegalArgumentException:input == null!在javax.imageio.ImageIO.read(未知来源)

请帮忙吗?

1 个答案:

答案 0 :(得分:2)

Class#getResource不适用于从文件系统加载文件。 也许 ImageIO.read(az)会有用。

但是你从File获得了JFileChooser个对象。使用它,你完全没有问题。如果没有理由,不要对文件名进行任何字符串操作。过滤特定后缀不是原因。