How do I provide a file path in Mac OS X while creating a file in Java?
There is a File.separator
system-dependent constant that you should use to provide some portability to your Java code.
On Linux, Mac OS X and other *nix flavours, the folder separator is /
not \
, so there isn't any need to escape anything, some/path/of/folders
.
Also, you can use the /tmp
folder for your temporary files.
Finally, on *nix systems, the home directory is usually represented by ~
or is in the environment variable HOME
.
Please use File.separator to be independent from the OS:
String home = System.getProperty("user.home");
File f = new File(home + File.separator + "Desktop" + File.separator + "Testing" + File.separator + "Java.txt");
Or use org.apache.commons.io.FilenameUtils.normalize:
File f = new File(FileNameUtils.normalize(home + "/Desktop/Testing/Java.txt"));
Either of them can be used (the second option needs library)
Forward slash "/" must be used to get the file path here. Use:
File f = new File("/Users/pavankumar/Desktop/Testing/Java.txt");
f.createNewFile();