Sign in to follow this  
destructivArts

Reading a File from Another Package

Recommended Posts

destructivArts    205
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:
[CODE]
IOException: java.io.FileNotFoundException: /Volumes/destructivArts/Programming/Platform%20Game/build/classes/Assets/Levels/level1.txt (No such file or directory)
[/CODE]
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:
[CODE]
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
}
}
[/CODE]
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
ppgamedev    311
try with this:
[CODE]
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
}
[/CODE]

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this