Forum Stats

  • 3,769,603 Users
  • 2,252,991 Discussions
  • 7,875,117 Comments

Discussions

unable to find flatfile path of project while running as jar

955430
955430 Member Posts: 4
Hi,

Iam developing one jar file.
In my project ther is one .txt file and one XYZ folder.
.txt file contains some file List,In my project Iam reading the .txt file and creating the files listed under the .txt file
for this i am just passing the file path as File f = new File(".
FileList.txt)

I just exported this project as an executable jar.
While running from the eclipse workspace, its working fine.But while iam running as a jar file it's unable to find the "FileList.txt" which was bundled in Jar.
As for my knowledge "." will fetch from the directory where we are running.Instead of passing as ".
FileList.txt", how i have to pass to make the jar file to find the .txt file

Could anyone help me in this

Thanks in advance
Vanisree

Answers

  • EJP
    EJP Member Posts: 32,920 Gold Crown
    As for my knowledge "." will fetch from the directory where we are running.
    Exactly. A directory. Not a JAR file. If you want to access it via File, you can't put it into the JAR. if you want to put it into the JAR, you need to use Class.getResource() and friends.
  • 955430
    955430 Member Posts: 4
    Iam using the following Code.

    String path = getClass().getClassLoader().getResource("fileList.txt").getPath();
    This is printing the path, but while running in the eclipse its throwing "FileNotFound Exception", even the file exists
  • gimbal2
    gimbal2 Member Posts: 11,949 Gold Trophy
    You're going about it the wrong way. The file is IN the jar right? Then its not on the actual filesystem, so you're not going to be using File/IO classes to access it.

    In stead, use getClass().getClassLoader().getResourceAsStream() to directly get an inputstream to the file to be able to load it.
  • 955430
    955430 Member Posts: 4
    Thanks boss..
    That works fine.
    Iam able to get the resource file path using getResourceAsStream.

    How can i get the folder path in the jar???

    Thanks in advance
    Vanisree
  • EJP
    EJP Member Posts: 32,920 Gold Crown
    I've answered that. getResource(). It gives you a URL, or null. But it isn't a path you can treat as though it could be fed to a File, as everybody has already told you.
This discussion has been closed.