What is the best way to find a path relative to the folder where a java application is "installed"?
I have a class with a static method: public static void saveToFile(String fileName)
When I call it with an absolute path, it works, but what I really want is the relative path to where the application is run from, and a folder.
I have not deployed my application, but right now I want to find a path relative to the (Netbeans) project root, and a folder within called data: ProjectName\data\file.dat. Should I use the File
class or make it into a URI
or something?
Note that I prefer it to be system-independent and will still work if the application is deployed. Eventually the (relative) pathname will be stored in a properties file.
Sorry if this question is a duplicate, any help is appreciated.
What is the best way to find a path relative to the folder where a java application is "installed"?
OS manufacturers have been saying for a long time not to save files in the application directory.
Note that I prefer it to be system-independent and will still work if the application is deployed.
Instead put the File
in a sub-directory
of user.home
. User home is where it should be possible to establish a file object that can be read or written. It is also a place that is reproducible across runs, and platform independent.