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

red*_*e47 40 java eclipse file-io resources project-organization

我希望有一个存储我的图像文件的地方,以便在我的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);


}


}
Run Code Online (Sandbox Code Playgroud)

编辑:对我有用的东西,我不知道为什么,将main/res/文件夹添加为类文件夹,然后将其删除.我/main/res/在构建路径的一部分作为类文件夹运行它,它仍然无法正常工作.当我添加它时,我有一个弹出窗口告诉我有关排除过滤器的信息.但是,当我从构建路径中的库中删除该文件夹,并将我的文件路径更改为:

image = ImageIO.read(new File("src/main/res/islands.png"));
Run Code Online (Sandbox Code Playgroud)

我至少停止了IOException抛出.我不能正确地将图像添加到面板,因为它没有显示,但至少它找到了文件(我认为).

Lau*_*ani 69

在"添加资源文件夹"时,构建路径 - >配置构建路径 - >源(选项卡) - >添加文件夹 - >创建新文件夹 在此输入图像描述

在新文件夹中添加"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();
Run Code Online (Sandbox Code Playgroud)

  • 我认为这是一个正确的答案,作者真的不知道如何向proyecto添加资源.他需要知道如何从代码中打开. (3认同)
  • 很棒的信息,现在继续编辑您的帖子并将信息放在那里;-) (2认同)

man*_*ear 10

要回答您在本主题标题中发布的问题...

步骤1 - >右键单击Java Project,选择"属性"选项 步骤1  - >右键单击Java Project,选择

步骤2 - >从左侧菜单中选择"Java Build Path",确保您在"Source"选项卡上,单击"Add Folder" 从左侧菜单中选择

步骤3 - >单击窗口底部的"创建新文件夹..."选项 单击窗口底部的

步骤4 - >输入新文件夹的名称作为"资源",然后单击"完成" 输入新文件夹的名称作为

步骤5 - >现在,您将能够在java项目下看到新创建的文件夹"resources",单击"确定",再次单击"确定"
现在,您将能够在java项目下看到新创建的文件夹

最后一步 - >现在您应该能够在java项目下看到新文件夹"resources"
现在,您应该能够在java项目下看到新文件夹

  • ...并且它被设置为SOURCE文件夹,而不是RESOURCE文件夹。那不是这个问题的答案。 (3认同)

小智 7

构建路径 -> 配置构建路径 -> 库(选项卡) -> 添加类文件夹,然后选择您的文件夹或创建一个。

  • 这个答案对我有用!上面的答案都不起作用!任何其他线程中的答案都不起作用! (2认同)

Ram*_*oro 4

添加资源文件夹后尝试以下操作:

ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream input = classLoader.getResourceAsStream("test.png");

try {
    image = ImageIO.read(input);
} catch (IOException e) {
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)