Jump to content
  • Advertisement
Sign in to follow this  
destructivArts

Reading a File from Another Package

This topic is 2264 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm trying to load level data from a text file for my game, and I've been looking around for a while now for the answer to this problem.
I've gotten this method to work before when the text file was in the same package as the class using it, so I'd rather not have to change the rest of my code to make this work.
I'm using a BufferedReader to try and read a .txt file. I'm reading in a method that throws an IOException.
The method, when it gets to the part where it loads the file, keeps throwing this exception:

IOException: java.io.FileNotFoundException: /Volumes/destructivArts/Programming/Platform%20Game/build/classes/Assets/Levels/level1.txt (No such file or directory)

I followed the path, and thats EXACTLY where the file is.
I'm not sure what's going on.

Here's the important code.
It's in a method called by the constructor of a level class:

public class Level {
public Level(int i, ImageHandler a){
try{
readLevel(i);
}catch(IOException e){System.out.println("IOException: " + e);};
}
public void readLevel(int index) throws IOException{
URL path = this.getClass().getResource("/Assets/Levels/level"+index+".txt");
File levelFile = new File(path.getPath());
BufferedReader reader = new BufferedReader(new FileReader(levelFile));
//The rest of the method is just handling the text
}
}

And here's the structure of my game.
Assets Package
Levels Package (Assets.Levels)
level1.txt
Game Package
Game.java
Level.java

Any help would be greatly appreciated,
Thanks!
Peter

Share this post


Link to post
Share on other sites
Advertisement
try with this:

public void readLevel(int index) throws IOException {
InputStream stream = this.getClass().getResourceAsStream("/Assets/Levels/level" + index + ".txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
//The rest of the method is just handling the text
}

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!