gpt4 book ai didi

java - 在 Java 中查找资源

转载 作者:行者123 更新时间:2023-12-04 11:48:13 27 4
gpt4 key购买 nike

我正在开发一个显示大量图像的 Java 应用程序。问题是我不知道如何让 Java 找到这些图像。

我在 Stackoverflow 上遵循了几个教程和答案,但我仍然没有设法找到一个解决方案,无论操作系统(Linux 或 Windows)和运行方法(嵌入在 Eclipse 或导出的 jar 文件中)如何。不过,这可能是因为我还是新手。

我创建了一个类,我称之为 myIcon,通过这个类我想访问所有这些图像。在下面的代码中,我想将字符串“resources/icon/image.gif”传递给函数 getIconPath。输出应该是这个图像的 ImageIcon,因为这个文件存在。尽管如此,如果我将不存在的图像路径传递给此函数,则应返回 null。在这种情况下,我的应用程序将显示默认图像(红色 x)。

public class MyIcon {
// some other functions and properties

private static final ImageIcon getIconPath(String path) {
File f = new File(path);

if (f.exists()) {
return new ImageIcon(path, "");
} else {
return null;
}
}
}

在我的目录结构中,resources 文件夹是 src 文件夹的同级文件夹。即resources和src都是根目录下的子文件夹。

当我运行上面的代码时,找不到任何图像。因此始终显示默认图像并且 getIconPath 返回 null。

我也知道ClassLoader的getResource方法,但是我还是不太明白这些东西应该怎么用。

最佳答案

在eclipse 中运行时,您应该打印出f.getAbsolutePath()。它可能不指向您的文件。更一般地说,您希望将文件作为资源进行访问。见:

https://docs.oracle.com/javase/tutorial/deployment/webstart/retrievingResources.html

关于java - 在 Java 中查找资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32290667/

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