Cómo obtener el directorio de trabajo actual en Java

Mohammad Irfan 12 octubre 2023
  1. Obtener el directorio de trabajo actual usando el método System.getProperty() en Java
  2. Obtener el directorio de trabajo actual usando toAbsolutePath() en Java
  3. Obtener el directorio de trabajo actual usando el método normalize() en Java
  4. Obtener el directorio de trabajo actual usando el método FileSystems.getDefault() en Java
  5. Obtener el directorio de trabajo actual usando el método getAbsoluteFile() en Java
  6. Obtener el directorio de trabajo actual usando el método getClass() en Java
Cómo obtener el directorio de trabajo actual en Java

Este tutorial introduce cómo obtener el directorio de trabajo actual y enumera algunos códigos de ejemplo para entenderlo.

Hay varias maneras de obtener el directorio de trabajo actual, aquí usamos el método System.getProperty(), toAbsolutePath(), y FileSystems.getDefault(), etc. Veamos los ejemplos.

Obtener el directorio de trabajo actual usando el método System.getProperty() en Java

El método System.getProperty() es el que devuelve la propiedad del sistema indicada por la clave (argumento). Por ejemplo, user.dir devuelve el directorio de usuario y os.name devuelve el nombre del sistema operativo. Aquí, usamos este método para obtener el directorio de trabajo actual del usuario. Vea el ejemplo a continuación.

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

Obtener el directorio de trabajo actual usando toAbsolutePath() en Java

El método toAbsolutePath() puede obtener el camino absoluto de cualquier lugar. Aquí, usamos este método para obtener la ruta absoluta del directorio actual. Vea el ejemplo a continuación.

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

Obtener el directorio de trabajo actual usando el método normalize() en Java

El método normalize() devuelve una ruta del camino actual en la que se eliminan todos los elementos de nombre redundantes. Usamos este método con el método toAbsolute() para obtener el directorio de trabajo actual eliminando los nombres redundantes. Vea el ejemplo a continuación.

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

Obtener el directorio de trabajo actual usando el método FileSystems.getDefault() en Java

Podemos usar el método getDefault() de la clase FileSystem para obtener el Filesystem por defecto y luego el método toAbsolutePath() para obtener la ruta absoluta del directorio de trabajo actual. Vea el ejemplo a continuación.

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

Obtener el directorio de trabajo actual usando el método getAbsoluteFile() en Java

Podemos usar el método getAbsoluteFile() para obtener la ubicación del archivo actual que realmente representa la ubicación del directorio actual. Vea el ejemplo a continuación.

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

Obtener el directorio de trabajo actual usando el método getClass() en Java

Podemos usar el método getClass() de la clase de objeto en Java que devuelve la clase que se está ejecutando actualmente, que además puede ser usado con el método getPath() para obtener la ruta del directorio de trabajo actual. Vea el ejemplo a continuación.

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

Artículo relacionado - Java File