Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I add a resources folder to my Java project in Eclipse

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?

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);   }   } 

EDIT: 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")); 

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).

like image 202
redeagle47 Avatar asked Jan 14 '15 02:01

redeagle47


People also ask

How do I import resources into Eclipse?

File > Import....Select General > File System and click Next. Click the Browse button on the next page of the wizard to select the directories from which you would like to add the resources.

What is resources folder in Java project?

The resources folder belongs to the maven project structure where we place the configuration and data files related to the application. The location of the folder is “ src/main/resources “. When packaging the application as jar file, the file present in the resources folder are copied in the root target/classes folder.


2 Answers

When at the "Add resource folder", Build Path -> Configure Build Path -> Source (Tab) -> Add Folder -> Create new Folder enter image description here

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(); 
like image 167
Lautaro Cozzani Avatar answered Sep 20 '22 14:09

Lautaro Cozzani


To answer your question posted in the title of this topic...

Step 1--> Right Click on Java Project, Select the option "Properties" Step 1--> Right Click on Java Project, Select the option "Properties"

Step 2--> Select "Java Build Path" from the left side menu, make sure you are on "Source" tab, click "Add Folder" Select "Java Build Path" from the left side menu, make sure you are on "Source" tab, click "Add Folder"

Step 3--> Click the option "Create New Folder..." available at the bottom of the window Click the option "Create New Folder..." available at the bottom of the window

Step 4--> Enter the name of the new folder as "resources" and then click "Finish" Enter the name of the new folder as "resources" and then click "Finish"

Step 5--> Now you'll be able to see the newly created folder "resources" under your java project, Click "Ok", again Click "Ok"
Now you'll be able to see the newly created folder "resources" under your java project, Click "Ok", again Click "Ok"

Final Step --> Now you should be able to see the new folder "resources" under your java project
Now you should be able to see the new folder "resources" under your java project

like image 29
mannedear Avatar answered Sep 20 '22 14:09

mannedear