如何在 Eclipse 中向我的 Java 项目添加资源文件夹 [英] How do I add a resources folder to my Java project in Eclipse
问题描述
我想要一个地方来存储我的图像文件以在我的 Java 项目中使用(一个非常简单的类,它只是将图像加载到面板上).我到处找,找不到如何做到这一点.我该怎么做?
I want to have a place to store my image files to use in my Java project (a really simple class that just loads an image onto a panel). I have looked everywhere and cannot find how to do this. How do I do this?
我已经尝试向项目添加一个新文件夹,向项目添加一个新的类文件夹,以及向项目添加一个新的源文件夹.不管我做什么,我总是得到一个IOException
.文件夹总是说它们在构建路径上,所以我不知道该怎么做.
I have tried adding a new folder to the project, adding a new class folder to the project, and adding a new source folder to the project. No matter what I do, I always get a IOException
. The folders always say they are on the build path, so I'm not sure what to do.
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/
作为类文件夹的构建路径的一部分时运行它,但它仍然没有工作.当我添加它时,我得到了一个弹出窗口,告诉我一些关于排除过滤器的信息.但是当我从构建路径中的库中删除文件夹,并将我的文件路径更改为:
Something that worked for me, and I have no idea why, was adding the main/res/
folder as a class folder and then removing it. I ran it while the /main/res/
was part of the build path as a class folder and it still didn't work. When i added it, i got a popup that told me something about excluded filters. But when i removed the folder from the libraries in the build path, and changed my file path to:
image = ImageIO.read(new File("src/main/res/islands.png"));
我至少不再抛出 IOException
了.我一定没有正确地将图像添加到面板,因为它没有显示出来,但至少它找到了文件(我认为).
I at least stopped getting the IOException
thrown. I must not be adding the image to the panel correctly, because it's not showing up, but at least it found the file (I think).
推荐答案
在添加资源文件夹"时,构建路径 -> 配置构建路径 -> 源(选项卡) -> 添加文件夹 -> 创建新文件夹
When at the "Add resource folder", Build Path -> Configure Build Path -> Source (Tab) -> Add Folder -> Create new Folder
在新文件夹中添加my-resource.txt"文件.然后在您的代码中:
add "my-resource.txt" file inside the new folder. Then in your code:
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();
这篇关于如何在 Eclipse 中向我的 Java 项目添加资源文件夹的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!