当前位置: 首页 > 面试题库 >

从罐子中加载图像并在Eclipse中将其外部

海典
2023-03-14
问题内容

我在eclipse的java项目中具有这样的结构:

  • src / com / myprogram /…/ foo.java
  • res / icon.png
  • 。项目

我知道您可以使用以下方式从罐子中加载图像

ImageIO.read(getClass().getResource("/res/icon.png"));

当您尝试直接使用eclipse运行应用程序时会出现问题,因为(我想)res文件夹不在src文件夹中,则会显示null
URL。我想为源代码和资源提供单独的文件夹。

另外,我发现我可以将res文件夹添加到eclipse中的class-path,以便可以用以下方式加载它:

URL url = getClass().getResource("/res/icon.png");
if (url == null)
    url = getClass().getResource("/icon.png");
ImageIO.read(url);

但是,这种添加的代码仅在您开发时才需要,而且我不喜欢这样做(代码应尽可能干净且最终)。

可以做些什么,用两种方法用相同的代码读取图标吗?


问题答案:

resources在您的项目中创建一个文件夹,将其标记为eclipse中的源文件夹,将该res文件夹放在下resources,并确保您的非Eclipse版本可以resources使用jar中的所有内容。然后使用加载图标

getClass().getResource("/res/icon.png")

你的问题是由以下事实引起的,你非Eclipse构建放res罐子里,但是Eclipse放 内容res目标目录。



 类似资料:
  • 问题内容: 第一。我知道关于如何访问jar文件中的图像已经存在各种主题。第二。我尝试了很多选择,但没有一个没有用。我当然知道在某个地方我犯了一个错误。您能帮助我了解我在做什么错吗? 因此,我有一个名为“ j”的原型项目,它仅包含一个Java类- 客户端。客户端尝试访问图像good.png。将所有文件打包到可执行jar文件后,客户端将无法访问文件。我在月食中工作,并使用蚂蚁。 com.pupcom.

  • 我需要从一个URL加载图像,并将它们存储在本地,这样它们就不必反复重新加载。我有一个扩展我正在工作: 我遇到了一个问题,UIImagePNGRepresentation中的“loadedImage”返回时出现错误“use of unresolved identifier loadedImage”。我的目标是在本地存储图像的PNG表示。对此错误的任何建议将不胜感激。

  • 我见过很多人对在Eclipse中运行时加载的图像有相同的问题,但在从导出的JAR中运行时没有。我一直有这个问题,直到我找到了正确的解决方案。现在我遇到了一个问题,当从一个新导出的、可运行的JAR运行时,图像被加载,程序工作得非常完美,但在Eclipse中却不行!值得注意的是,我在我的机器上更新了Java! 它在Eclipse中运行得非常好,直到我解决了如何正确导出可运行的JAR,现在却没有!资产文

  • 问题内容: 我有一个panel.java文件,看起来像下面的代码: 我想显示test.gif文件。我该如何完成?因为当我在Eclipse中运行它时,我只会得到其中没有图像的jframe。 问题答案: 用这个

  • 问题内容: 假设我的jar包“ com.test.io”中有一个名为test.txt的文件。 我将如何编写一个类来检索此文本文件,然后将内容复制到文件系统上的新文件中? 问题答案: 假设jar在您的类路径中:

  • 下面是我的代码: 只是一个加载图像的文件。 我得到以下错误: 以下是完整的代码: