How to get the current working directory in Java? How to get the current working directory in Java? java java

How to get the current working directory in Java?


Code :

public class JavaApplication {  public static void main(String[] args) {    System.out.println("Working Directory = " + System.getProperty("user.dir"));  }}

This will print the absolute path of the current directory from where your application was initialized.


Explanation:

From the documentation:

java.io package resolve relative pathnames using current user directory. The current directory is represented as system property, that is, user.dir and is the directory from where the JVM was invoked.


See: Path Operations (The Java™ Tutorials > Essential Classes > Basic I/O).

Using java.nio.file.Path and java.nio.file.Paths, you can do the following to show what Java thinks is your current path. This for 7 and on, and uses NIO.

Path currentRelativePath = Paths.get("");String s = currentRelativePath.toAbsolutePath().toString();System.out.println("Current absolute path is: " + s);

This outputs:

Current relative path is: /Users/george/NetBeansProjects/Tutorials

that in my case is where I ran the class from.

Constructing paths in a relative way, by not using a leading separator to indicate you are constructing an absolute path, will use this relative path as the starting point.


The following works on Java 7 and up (see here for documentation).

import java.nio.file.Paths;Paths.get(".").toAbsolutePath().normalize().toString();