当前位置: 首页 > 知识库问答 >
问题:

如何在Eclipse中向Java项目添加资源文件夹

公孙涵育
2023-03-14

我想有一个地方来存储我的图像文件,以便在我的Java项目中使用(一个非常简单的类,它只是将图像加载到面板上)。我找遍了所有的地方,都找不到如何做到这一点。我该怎么做?

我已经尝试向项目添加一个新文件夹,向项目添加一个新类文件夹,向项目添加一个新源文件夹。无论我做什么,我总是得到一个IOException。文件夹总是说它们在构建路径上,所以我不确定该怎么做。

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class PracticeFrame extends JFrame{

private static BufferedImage image;
Thread thread;

public PracticeFrame() {
    super();
    setPreferredSize(new Dimension(640,480));
    setResizable(false);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    pack();
    setVisible(true);
}

public static void main (String[] args) {
    PracticeFrame pframe = new PracticeFrame();
    try {
        image = ImageIO.read(new File("/islands.png"));
    } catch (IOException e) {
        e.printStackTrace();
    }

    JPanel panel = new JPanel() {
        @Override
        protected void  paintComponent(Graphics g) {
            super.paintComponent(g);
            g.drawImage(image,0,0,null);
        }
    };

    panel.setBackground(Color.BLUE);
    panel.repaint();
    pframe.add(panel);


}


}

编辑:对我起作用的东西是将main/res/文件夹添加为类文件夹,然后将其删除,但我不知道为什么。当/main/res/作为类文件夹作为构建路径的一部分时,我运行了它,但它仍然不起作用。当我添加它时,我得到一个弹出窗口,告诉我一些关于排除的过滤器。但当我从构建路径中的库中删除文件夹并将文件路径更改为:

image = ImageIO.read(new File("src/main/res/islands.png"));

我至少停止了抛出IOException。我必须没有正确地添加图像到面板,因为它没有显示,但至少它找到了文件(我想)。

共有1个答案

蒲坚
2023-03-14

在新文件夹中添加“my-resource.txt”文件。则在代码中:

    InputStream res =
    Main.class.getResourceAsStream("/my-resource.txt");

    BufferedReader reader =
        new BufferedReader(new InputStreamReader(res));
    String line = null;
    while ((line = reader.readLine()) != null) {
        System.out.println(line);
    }
    reader.close();
 类似资料:
  • 我正在使用IntelliJ IDEA14,我想在src之外向JAR文件添加文件。这是我目前的项目结构。 我想将layout.txt和saveddata.txt添加到JAR文件可执行文件中。我在网上搜索了一段时间也找不到解决方法 以防你需要看我的代码。这就是我读取文件的方式 这是我的项目结构

  • 问题内容: 在Netbeans中,我可以使用现有Java文件源创建一个项目。如果我想向项目添加其他资源,该怎么做? 问题答案: 右键点击项目 “财产” “来源”(在树的左上方) 对话框左侧的“源软件包文件夹:” “新增文件夹”

  • 我有一个非常简单的REST API,它使用了jersey 2.x(Glassfish)。当我只输出hello world字符串时,它就起作用了。但是,当我添加几个JAR并在一行代码中使用它们时,它会抛出大量class错误。我没有编译或语法错误。这个错误很长,所以如果我在里面装了很多垃圾,请原谅。 我看到了很多解决这个问题的方法,但是我不理解它们的术语,例如,类路径需要被修复等等。 代码 eclip

  • 问题内容: 我之前使用Unix来编译和编辑Java。这样,我就在类文件所在的当前工作目录中使用了属性文件。现在,我已切换到Eclipse IDE。我不知道如何在Eclipse中添加相同的属性文件。请帮我。 问题答案: 如果您在当前工作目录中有属性文件,它应该可以正常工作,就像在Unix中一样。另一种办法是增加你的属性文件到classpath和获取使用的InputStream 更多在这里

  • 问题内容: 我想为Eclipse中的文件添加自定义警告消息(即,在“问题”选项卡的“警告”部分中添加条目)。 虽然我已经找到了有关创建插件和使用标记的信息(在这里和其他地方),但是我还没有发现任何有关扩展“问题发现”过程的信息。我发现的大多数文章都没有讨论 何时 创建标记,只讨论了 如何 创建标记,以及那些确实假设我有兴趣将标记附加到自定义构建步骤或自定义编辑器上的文章,这两种文章都不适合我正在尝

  • 问题内容: 我设法下载了Eclipse Helios的svn插件。然后,我设法将一个新的存储库添加到我选择的驱动器中。但是我看不到如何知道已经创建的项目?有人可以告诉我我该怎么做。 谢谢 问题答案: 就像是: 右键单击您的项目。 选择团队->共享项目。 该向导将指导您进行初始导入。 实际上,Initial Import不会将任何代码放入项目存储库中,而只是将项目详细信息放入仓库中。因此,您需要执行