HOWTO · Java

Como obter o diretório de trabalho atual em Java

Este artigo apresenta como obter o diretório de trabalho atual em Java.

Nesta página

Este tutorial apresenta como obter o diretório de trabalho atual e lista alguns exemplos de códigos para entendê-lo.

Há várias maneiras de obter o diretório de trabalho atual, aqui utilizamos System.getProperty(), toAbsolutePath(), e FileSystems.getDefault() método, etc. Vamos ver os exemplos.

Obter Diretório de trabalho atual utilizando System.getProperty() Método em Java

O método System.getProperty() é que retorna a propriedade do sistema indicada pela chave (argumento). Por exemplo, user.dir retorna o diretório do usuário e os.name retorna o nome do sistema operacional. Aqui, utilizamos este método para obter o diretório de trabalho do usuário atual. Veja o exemplo abaixo.

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

Resultado:

Current Working Directory is = D:\eclipse-workspace\corejavaexamples

Obter diretório de trabalho atual utilizando toAbsolutePath() em Java

O método toAbsolutePath() pode obter o caminho absoluto de qualquer local. Aqui, utilizamos este método para obter o caminho absoluto do diretório atual. Veja o exemplo abaixo.

import java.nio.file.Path;
import java.nio.file.Paths;

public class SimpleTesting {
  public static void main(String[] args) {
    Path path = Paths.get("");
    String directoryName = path.toAbsolutePath().toString();
    System.out.println("Current Working Directory is = " + directoryName);
  }
}

Resultado:

Current Working Directory is = D:\eclipse-workspace\corejavaexamples

Obter o diretório de trabalho atual utilizando o método normalize() em Java

O método normalize() devolve um caminho do caminho atual no qual todos os elementos redundantes do nome são eliminados. Utilizamos este método com o método toAbsolute() para obter o diretório de trabalho atual, eliminando os nomes redundantes. Veja o exemplo abaixo.

import java.nio.file.Path;
import java.nio.file.Paths;

public class SimpleTesting {
  public static void main(String[] args) {
    Path path = Paths.get("");
    String directoryName = path.toAbsolutePath().normalize().toString();
    System.out.println("Current Working Directory is = " + directoryName);
  }
}

Resultado:

Current Working Directory is = D:\eclipse-workspace\corejavaexamples

Obter o diretório de trabalho atual utilizando FileSystems.getDefault() Método em Java

Podemos utilizar o getDefault() método da classe FileSystem para obter o Filesystem padrão e depois o toAbsolutePath() método para obter o caminho absoluto do diretório de trabalho atual. Veja o exemplo abaixo.

import java.nio.file.FileSystems;
import java.nio.file.Path;

public class SimpleTesting {
  public static void main(String[] args) {
    Path path = FileSystems.getDefault().getPath("");
    String directoryName = path.toAbsolutePath().toString();
    System.out.println("Current Working Directory is = " + directoryName);
  }
}

Resultado:

Current Working Directory is = D:\eclipse-workspace\corejavaexamples

Obter diretório de trabalho atual utilizando o getAbsoluteFile() metodo em Java

Podemos utilizar o método getAbsoluteFile() para obter a localização do arquivo atual que realmente representa a localização do diretório atual. Veja o exemplo abaixo.

import java.io.File;

public class SimpleTesting {
  public static void main(String[] args) {
    File file = new File("");
    String directoryName = file.getAbsoluteFile().toString();
    System.out.println("Current Working Directory is = " + directoryName);
  }
}

Resultado:

Current Working Directory is = D:\eclipse-workspace\corejavaexamples

Obter diretório de trabalho atual utilizando o método getClass() em Java

Podemos utilizar o método getClass() da classe Object em Java que retorna a classe atualmente em execução, que pode ser utilizado com o método getPath() para obter o caminho do diretório de trabalho atual. Veja o exemplo abaixo.

public class SimpleTesting {
  String getCurrentDirectory() {
    return this.getClass().getClassLoader().getResource("").getPath();
  }

  public static void main(String[] args) {
    String directoryName = new SimpleTesting().getCurrentDirectory();
    System.out.println("Current Working Directory is = " + directoryName);
  }
}

Resultado:

Current Working Directory is = D:\eclipse-workspace\corejavaexamples