Java : File con ejemplos

File (Java SE 22 & JDK 22) en Java con ejemplos.
Encontrará ejemplos de código en la mayoría de los métodos de File.

Advertencia :

  • La clase File es una API heredada. Se recomienda utilizar las nuevas APIs Path y Files en su lugar.

Nota :


Summary

Una representación abstracta de rutas de archivos y directorios. (Traducción automática)

Class diagram

Nota :

  • La mayoría de los ejemplos de código de este artículo se ejecutan en Windows. Sin embargo, algunos de los ejemplos de código se ejecutan en Linux.
final var file = new File("R:\\java-work\\aaa.txt");
System.out.println(file); // R:\java-work\aaa.txt

System.out.println(file.exists()); // false

try (final var writer = new FileWriter(file)) {
    writer.write("abc");
    writer.write("XYZ");
}

System.out.println(file.exists()); // true
System.out.println(file.isFile()); // true
System.out.println(file.isDirectory()); // false

// --- PowerShell ---
//PS R:\java-work> ls -Name
//aaa.txt
//
//PS R:\java-work> cat aaa.txt
//abcdXYZ

Fields

static final String pathSeparator

El carácter separador de ruta dependiente del sistema, representado como una cadena para mayor comodidad. (Traducción automática)

final var os = System.getProperty("os.name");
System.out.println(os); // Windows 10

System.out.println(File.pathSeparator); // ;
System.out.println(Arrays.toString(File.pathSeparator.getBytes())); // [59]

static final char pathSeparatorChar

El carácter separador de ruta dependiente del sistema. (Traducción automática)

final var os = System.getProperty("os.name");
System.out.println(os); // Windows 10

System.out.println(File.pathSeparatorChar); // ;

final int c = File.pathSeparatorChar;
System.out.println(c); // 59

static final String separator

El carácter separador de nombres predeterminado que depende del sistema, representado como una cadena para mayor comodidad. (Traducción automática)

final var os = System.getProperty("os.name");
System.out.println(os); // Windows 10

System.out.println(File.separator); // \
System.out.println(Arrays.toString(File.separator.getBytes())); // [92]

static final char separatorChar

El carácter separador de nombres predeterminado que depende del sistema. (Traducción automática)

final var os = System.getProperty("os.name");
System.out.println(os); // Windows 10

System.out.println(File.separatorChar); // \

final int c = File.separatorChar;
System.out.println(c); // 92

Constructors

File (File parent, String child)

Crea una nueva instancia de archivo a partir de una ruta abstracta principal y una cadena de ruta secundaria. (Traducción automática)

final var parent = new File("R:\\java-work");
System.out.println(parent); // R:\java-work

final var file = new File(parent, "aaa.txt");
System.out.println(file); // R:\java-work\aaa.txt

System.out.println(file.exists()); // false

System.out.println(file.createNewFile()); // true
System.out.println(file.exists()); // true

File (String pathname)

Crea una nueva instancia de archivo convirtiendo la cadena de ruta dada en una ruta abstracta. (Traducción automática)

final var file = new File("R:\\java-work\\aaa.txt");
System.out.println(file); // R:\java-work\aaa.txt

System.out.println(file.exists()); // false

System.out.println(file.createNewFile()); // true
System.out.println(file.exists()); // true

File (String parent, String child)

Crea una nueva instancia de archivo a partir de una cadena de ruta principal y una cadena de ruta secundaria. (Traducción automática)

final var parent = "R:\\java-work";
System.out.println(parent); // R:\java-work

final var file = new File(parent, "aaa.txt");
System.out.println(file); // R:\java-work\aaa.txt

System.out.println(file.exists()); // false

System.out.println(file.createNewFile()); // true
System.out.println(file.exists()); // true

File (URI uri)

Crea una nueva instancia de archivo convirtiendo el URI del archivo dado en una ruta abstracta. (Traducción automática)

final var uri = URI.create("file:///R:/java-work/aaa.txt");
System.out.println(uri); // file:///R:/java-work/aaa.txt

final var file = new File(uri);
System.out.println(file); // R:\java-work\aaa.txt

System.out.println(file.exists()); // false

System.out.println(file.createNewFile()); // true
System.out.println(file.exists()); // true

Methods

boolean canExecute ()

Comprueba si la aplicación puede ejecutar el archivo indicado por esta ruta abstracta. (Traducción automática)

// --- Linux Terminal ---
//$ touch sample1.sh
//$ ls -l sample1.sh
//-rw-rw-r-- 1 xxxx xxxx 0 ... sample1.sh

final var os = System.getProperty("os.name");
System.out.println(os); // Linux

final var file = new File("sample1.sh");
System.out.println(file); // sample1.sh

System.out.println(file.canExecute()); // false
System.out.println(file.setExecutable(true)); // true

System.out.println(file.canExecute()); // true

// --- Linux Terminal ---
//$ ls -l sample1.sh
//-rwxrw-r-- 1 xxxx xxxx 0 ... sample1.sh
// --- Linux Terminal ---
//$ touch sample2.sh
//$ ls -l sample2.sh
//-rw-rw-r-- 1 xxxx xxxx 0 ... sample2.sh

final var file = new File("sample2.sh");
System.out.println(file); // sample2.sh

System.out.println(file.canExecute()); // false
System.out.println(file.setExecutable(true, false)); // true

System.out.println(file.canExecute()); // true

// --- Linux Terminal ---
//$ ls -l sample2.sh
//-rwxrwxr-x 1 xxxx xxxx 0 ... sample2.sh

boolean canRead ()

Comprueba si la aplicación puede leer el archivo indicado por esta ruta abstracta. (Traducción automática)

// --- Linux Terminal ---
//$ touch sample1.txt
//$ ls -l sample1.txt
//-rw-rw-r-- 1 xxxx xxxx 0 ... sample1.txt

final var os = System.getProperty("os.name");
System.out.println(os); // Linux

final var file = new File("sample1.txt");
System.out.println(file); // sample1.txt

System.out.println(file.canRead()); // true
System.out.println(file.setReadable(false)); // true

System.out.println(file.canRead()); // false

// --- Linux Terminal ---
//$ ls -l sample1.txt
//--w-rw-r-- 1 xxxx xxxx 0 ... sample1.txt
// --- Linux Terminal ---
//$ touch sample2.txt
//$ ls -l sample2.txt
//-rw-rw-r-- 1 xxxx xxxx 0 ... sample2.txt

final var file = new File("sample2.txt");
System.out.println(file); // sample2.txt

System.out.println(file.canRead()); // true
System.out.println(file.setReadable(false, false)); // true

System.out.println(file.canRead()); // false

// --- Linux Terminal ---
//$ ls -l sample2.txt
//--w--w---- 1 xxxx xxxx 0 ... sample2.txt

boolean canWrite ()

Comprueba si la aplicación puede modificar el archivo indicado por esta ruta abstracta. (Traducción automática)

// --- Linux Terminal ---
//$ touch sample1.txt
//$ ls -l sample1.txt
//-rw-rw-r-- 1 xxxx xxxx 0 ... sample1.txt

final var os = System.getProperty("os.name");
System.out.println(os); // Linux

final var file = new File("sample1.txt");
System.out.println(file); // sample1.txt

System.out.println(file.canWrite()); // true
System.out.println(file.setWritable(false)); // true

System.out.println(file.canWrite()); // false

// --- Linux Terminal ---
//$ ls -l sample1.txt
//-r--rw-r-- 1 xxxx xxxx 0 ... sample1.txt
// --- Linux Terminal ---
//$ touch sample2.txt
//$ ls -l sample2.txt
//-rw-rw-r-- 1 xxxx xxxx 0 ... sample2.txt

final var file = new File("sample2.txt");
System.out.println(file); // sample2.txt

System.out.println(file.canWrite()); // true
System.out.println(file.setWritable(false, false)); // true

System.out.println(file.canWrite()); // false

// --- Linux Terminal ---
//$ ls -l sample2.txt
//-r--r--r-- 1 xxxx xxxx 0 ... sample2.txt

int compareTo (File pathname)

Compara lexicográficamente dos rutas abstractas. (Traducción automática)

final var os = System.getProperty("os.name");
System.out.println(os); // Windows 10

// A path name on Windows is not case-sensitive.
final var file1 = new File("aaa.txt");
final var file2 = new File("AAA.txt");

System.out.println(file1); // aaa.txt
System.out.println(file2); // AAA.txt
System.out.println(file1.compareTo(file2)); // 0
final var file1 = new File("aaa.txt");
final var file2 = new File("bbb.txt");

System.out.println(file1); // aaa.txt
System.out.println(file2); // bbb.txt
System.out.println(file1.compareTo(file2)); // -1
System.out.println(file2.compareTo(file1)); // 1

boolean createNewFile ()

Crea atómicamente un nuevo archivo vacío llamado por esta ruta abstracta si y solo si aún no existe un archivo con este nombre. (Traducción automática)

final var file = new File("R:\\java-work\\aaa.txt");
System.out.println(file); // R:\java-work\aaa.txt

System.out.println(file.exists()); // false
System.out.println(file.createNewFile()); // true

System.out.println(file.exists()); // true
System.out.println(file.createNewFile()); // false

static File createTempFile (String prefix, String suffix)

Crea un archivo vacío en el directorio de archivos temporales predeterminado, utilizando el prefijo y sufijo dados para generar su nombre. (Traducción automática)

final var ret1 = File.createTempFile("prefix-", "-suffix");

// C:\Users\xxx\AppData\Local\Temp\prefix-1788635824849128964-suffix
System.out.println(ret1);

final var ret2 = File.createTempFile("abcd-", ".txt");

// C:\Users\xxx\AppData\Local\Temp\abcd-2471973508160575501.txt
System.out.println(ret2);

final var ret3 = File.createTempFile("prefix-", null);

// C:\Users\xxx\AppData\Local\Temp\prefix-4955106351488410780.tmp
System.out.println(ret3);

static File createTempFile (String prefix, String suffix, File directory)

Crea un nuevo archivo vacío en el directorio especificado, utilizando las cadenas de prefijo y sufijo dadas para generar su nombre. (Traducción automática)

final var dir = new File("R:\\java-work");
System.out.println(dir); // R:\java-work
System.out.println(dir.isDirectory()); // true

final var ret1 = File.createTempFile("prefix-", "-suffix", dir);
System.out.println(ret1); // R:\java-work\prefix-11985693266629058833-suffix

final var ret2 = File.createTempFile("abcd-", ".txt", dir);
System.out.println(ret2); // R:\java-work\abcd-17241334720235449415.txt

final var ret3 = File.createTempFile("prefix-", null, dir);
System.out.println(ret3); // R:\java-work\prefix-16933306792652896919.tmp

boolean delete ()

Elimina el archivo o directorio indicado por esta ruta abstracta. (Traducción automática)

final var file = new File("R:\\java-work\\aaa.txt");
System.out.println(file); // R:\java-work\aaa.txt

final var dir = new File("R:\\java-work\\dir");
System.out.println(dir); // R:\java-work\dir

System.out.println(file.createNewFile()); // true
System.out.println(dir.mkdir()); // true

// --- PowerShell ---
//PS R:\java-work> ls | Format-Table -Property Mode, Name
//
//Mode  Name
//----  ----
//d---- dir
//-a--- aaa.txt

System.out.println(file.delete()); // true
System.out.println(file.exists()); // false

//PS R:\java-work> ls | Format-Table -Property Mode, Name
//
//Mode  Name
//----  ----
//d---- dir

System.out.println(dir.delete()); // true
System.out.println(dir.exists()); // false

// --- PowerShell ---
//PS R:\java-work> ls
//<No files / directories>
// --- PowerShell ---
//PS R:\java-work> tree /F
//...
//R:.
//└─dir
//        aaa.txt
//        bbb.txt

final var dir = new File("R:\\java-work\\dir");
System.out.println(dir); // R:\java-work\dir
System.out.println(dir.isDirectory()); // true

System.out.println(dir.delete()); // false

void deleteOnExit ()

Solicita que el archivo o directorio indicado por esta ruta abstracta se elimine cuando la máquina virtual finalice. (Traducción automática)

public class Main {

    public static void main(String[] args) throws IOException {

        final var file = new File("sample.txt");
        System.out.println("file = " + file);

        System.out.println("file.exists = " + file.exists());

        file.deleteOnExit();
        System.out.println("deleteOnExit : OK!");

        System.out.println("file.exists = " + file.exists());
    }
}

// --- PowerShell ---
//PS R:\java-work> ls -Name
//Main.java
//sample.txt
//
//PS R:\java-work> java Main.java
//file = sample.txt
//file.exists = true
//deleteOnExit : OK!
//file.exists = true
//
//PS R:\java-work> ls -Name
//Main.java

boolean equals (Object obj)

Prueba esta ruta abstracta para verificar su igualdad con el objeto dado. (Traducción automática)

final var os = System.getProperty("os.name");
System.out.println(os); // Windows 10

// A path name on Windows is not case-sensitive.
final var file1 = new File("aaa.txt");
final var file2 = new File("AAA.txt");

System.out.println(file1); // aaa.txt
System.out.println(file2); // AAA.txt
System.out.println(file1.equals(file2)); // true
final var file1 = new File("aaa.txt");
final var file2 = new File("bbb.txt");

System.out.println(file1); // aaa.txt
System.out.println(file2); // bbb.txt
System.out.println(file1.equals(file2)); // false
System.out.println(file2.equals(file1)); // false

boolean exists ()

Comprueba si el archivo o directorio indicado por esta ruta abstracta existe. (Traducción automática)

final var file = new File("R:\\java-work\\aaa.txt");
System.out.println(file); // R:\java-work\aaa.txt

final var dir = new File("R:\\java-work\\dir");
System.out.println(dir); // R:\java-work\dir

final var nonExistentPath = new File("R:\\java-work\\xxx");
System.out.println(nonExistentPath); // R:\java-work\xxx

System.out.println(file.createNewFile()); // true
System.out.println(dir.mkdir()); // true

// --- PowerShell ---
//PS R:\java-work> ls | Format-Table -Property Mode, Name
//
//Mode  Name
//----  ----
//d---- dir
//-a--- aaa.txt

System.out.println(file.isFile()); // true
System.out.println(file.isDirectory()); // false
System.out.println(file.exists()); // true

System.out.println(dir.isFile()); // false
System.out.println(dir.isDirectory()); // true
System.out.println(dir.exists()); // true

System.out.println(nonExistentPath.isFile()); // false
System.out.println(nonExistentPath.isDirectory()); // false
System.out.println(nonExistentPath.exists()); // false

File getAbsoluteFile ()

Devuelve la forma absoluta de esta ruta abstracta. (Traducción automática)

public class Main {

    public static void main(String[] args) throws IOException {

        final var userDir = System.getProperty("user.dir");
        System.out.println("user.dir = " + userDir);

        {
            final var file = new File("aaa.txt");

            System.out.println("------");
            System.out.println("file = " + file);
            System.out.println("isAbsolute = " + file.isAbsolute());
            System.out.println("getAbsoluteFile = " + file.getAbsoluteFile());
            System.out.println("getAbsolutePath = " + file.getAbsolutePath());
        }
        {
            final var file = new File("R:\\java-work\\bbb.txt");

            System.out.println("------");
            System.out.println("file = " + file);
            System.out.println("isAbsolute = " + file.isAbsolute());
            System.out.println("getAbsoluteFile = " + file.getAbsoluteFile());
            System.out.println("getAbsolutePath = " + file.getAbsolutePath());
        }
    }
}

// --- PowerShell ---
//PS R:\java-work> java Main.java
//user.dir = R:\java-work
//------
//file = aaa.txt
//isAbsolute = false
//getAbsoluteFile = R:\java-work\aaa.txt
//getAbsolutePath = R:\java-work\aaa.txt
//------
//file = R:\java-work\bbb.txt
//isAbsolute = true
//getAbsoluteFile = R:\java-work\bbb.txt
//getAbsolutePath = R:\java-work\bbb.txt

String getAbsolutePath ()

Devuelve la cadena de ruta absoluta de esta ruta abstracta. (Traducción automática)

public class Main {

    public static void main(String[] args) throws IOException {

        final var userDir = System.getProperty("user.dir");
        System.out.println("user.dir = " + userDir);

        {
            final var file = new File("aaa.txt");

            System.out.println("------");
            System.out.println("file = " + file);
            System.out.println("isAbsolute = " + file.isAbsolute());
            System.out.println("getAbsoluteFile = " + file.getAbsoluteFile());
            System.out.println("getAbsolutePath = " + file.getAbsolutePath());
        }
        {
            final var file = new File("R:\\java-work\\bbb.txt");

            System.out.println("------");
            System.out.println("file = " + file);
            System.out.println("isAbsolute = " + file.isAbsolute());
            System.out.println("getAbsoluteFile = " + file.getAbsoluteFile());
            System.out.println("getAbsolutePath = " + file.getAbsolutePath());
        }
    }
}

// --- PowerShell ---
//PS R:\java-work> java Main.java
//user.dir = R:\java-work
//------
//file = aaa.txt
//isAbsolute = false
//getAbsoluteFile = R:\java-work\aaa.txt
//getAbsolutePath = R:\java-work\aaa.txt
//------
//file = R:\java-work\bbb.txt
//isAbsolute = true
//getAbsoluteFile = R:\java-work\bbb.txt
//getAbsolutePath = R:\java-work\bbb.txt

File getCanonicalFile ()

Devuelve la forma canónica de esta ruta abstracta. (Traducción automática)

public class Main {

    public static void main(String[] args) throws IOException {

        final var userDir = System.getProperty("user.dir");
        System.out.println("user.dir = " + userDir);

        {
            final var file = new File("dir\\aaa.txt");

            System.out.println("------");
            System.out.println("file = " + file);
            System.out.println("getCanonicalFile = " + file.getCanonicalFile());
            System.out.println("getCanonicalPath = " + file.getCanonicalPath());
        }
        {
            final var file = new File("dir\\..\\bbb.txt");

            System.out.println("------");
            System.out.println("file = " + file);
            System.out.println("getCanonicalFile = " + file.getCanonicalFile());
            System.out.println("getCanonicalPath = " + file.getCanonicalPath());
        }
    }
}

// --- PowerShell ---
//PS R:\java-work> java Main.java
//user.dir = R:\java-work
//------
//file = dir\aaa.txt
//getCanonicalFile = R:\java-work\dir\aaa.txt
//getCanonicalPath = R:\java-work\dir\aaa.txt
//------
//file = dir\..\bbb.txt
//getCanonicalFile = R:\java-work\bbb.txt
//getCanonicalPath = R:\java-work\bbb.txt

String getCanonicalPath ()

Devuelve la cadena de ruta canónica de esta ruta abstracta. (Traducción automática)

public class Main {

    public static void main(String[] args) throws IOException {

        final var userDir = System.getProperty("user.dir");
        System.out.println("user.dir = " + userDir);

        {
            final var file = new File("dir\\aaa.txt");

            System.out.println("------");
            System.out.println("file = " + file);
            System.out.println("getCanonicalFile = " + file.getCanonicalFile());
            System.out.println("getCanonicalPath = " + file.getCanonicalPath());
        }
        {
            final var file = new File("dir\\..\\bbb.txt");

            System.out.println("------");
            System.out.println("file = " + file);
            System.out.println("getCanonicalFile = " + file.getCanonicalFile());
            System.out.println("getCanonicalPath = " + file.getCanonicalPath());
        }
    }
}

// --- PowerShell ---
//PS R:\java-work> java Main.java
//user.dir = R:\java-work
//------
//file = dir\aaa.txt
//getCanonicalFile = R:\java-work\dir\aaa.txt
//getCanonicalPath = R:\java-work\dir\aaa.txt
//------
//file = dir\..\bbb.txt
//getCanonicalFile = R:\java-work\bbb.txt
//getCanonicalPath = R:\java-work\bbb.txt

long getFreeSpace ()

Devuelve la cantidad de bytes no asignados en la partición nombrada por este nombre de ruta abstracto. (Traducción automática)

final var file = new File("D:");
System.out.println(file); // D:

// --- PowerShell ---
//PS R:\java-work> Get-PSDrive D
//
//Name           Used (GB)     Free (GB) Provider      Root ...
//----           ---------     --------- --------      ---- ...
//D                1665.41        197.48 FileSystem    D:\  ...

System.out.println(file.getTotalSpace()); // 2000263573504
System.out.println(file.getFreeSpace()); // 212039778304
System.out.println(file.getUsableSpace()); // 212039778304

String getName ()

Devuelve el nombre del archivo o directorio indicado por esta ruta abstracta. (Traducción automática)

final var file = new File("dir1\\dir2\\aaa.txt");

System.out.println(file.getPath()); // dir1\dir2\aaa.txt
System.out.println(file.getName()); // aaa.txt
System.out.println(file.getParent()); // dir1\dir2

String getParent ()

Devuelve la cadena de ruta del directorio padre de esta ruta abstracta, o nulo si esta ruta no nombra un directorio padre. (Traducción automática)

final var file = new File("dir1\\dir2\\aaa.txt");

System.out.println(file.getPath()); // dir1\dir2\aaa.txt
System.out.println(file.getName()); // aaa.txt
System.out.println(file.getParent()); // dir1\dir2

File getParentFile ()

Devuelve la ruta abstracta del directorio padre de esta ruta abstracta, o nulo si esta ruta no nombra un directorio padre. (Traducción automática)

final var file = new File("dir1\\dir2\\aaa.txt");
System.out.println(file); // dir1\dir2\aaa.txt

final var parent = file.getParentFile();
System.out.println(parent); // dir1\dir2

final var parentParent = parent.getParentFile();
System.out.println(parentParent); // dir1

String getPath ()

Convierte esta ruta abstracta en una cadena de ruta. (Traducción automática)

final var file = new File("dir1\\dir2\\aaa.txt");

System.out.println(file.getPath()); // dir1\dir2\aaa.txt
System.out.println(file.getName()); // aaa.txt
System.out.println(file.getParent()); // dir1\dir2

long getTotalSpace ()

Devuelve el tamaño de la partición nombrada por esta ruta abstracta. (Traducción automática)

final var file = new File("D:");
System.out.println(file); // D:

// --- PowerShell ---
//PS R:\java-work> Get-PSDrive D
//
//Name           Used (GB)     Free (GB) Provider      Root ...
//----           ---------     --------- --------      ---- ...
//D                1665.41        197.48 FileSystem    D:\  ...

System.out.println(file.getTotalSpace()); // 2000263573504
System.out.println(file.getFreeSpace()); // 212039778304
System.out.println(file.getUsableSpace()); // 212039778304

long getUsableSpace ()

Devuelve la cantidad de bytes disponibles para esta máquina virtual en la partición nombrada por esta ruta abstracta. (Traducción automática)

final var file = new File("D:");
System.out.println(file); // D:

// --- PowerShell ---
//PS R:\java-work> Get-PSDrive D
//
//Name           Used (GB)     Free (GB) Provider      Root ...
//----           ---------     --------- --------      ---- ...
//D                1665.41        197.48 FileSystem    D:\  ...

System.out.println(file.getTotalSpace()); // 2000263573504
System.out.println(file.getFreeSpace()); // 212039778304
System.out.println(file.getUsableSpace()); // 212039778304

int hashCode ()

Calcula un código hash para esta ruta abstracta. (Traducción automática)

final var os = System.getProperty("os.name");
System.out.println(os); // Windows 10

// A path name on Windows is not case-sensitive.
final var ret1 = new File("aaa.txt").hashCode();
System.out.println(ret1); // -1239232814

final var ret2 = new File("AAA.TXT").hashCode();
System.out.println(ret2); // -1239232814
final var ret1 = new File("dir1\\dir2\\aaa.txt").hashCode();
System.out.println(ret1); // -639828267

final var ret2 = new File("R:\\java-work\\aaa.txt").hashCode();
System.out.println(ret2); // 503453694

boolean isAbsolute ()

Comprueba si esta ruta abstracta es absoluta. (Traducción automática)

public class Main {

    public static void main(String[] args) throws IOException {

        final var userDir = System.getProperty("user.dir");
        System.out.println("user.dir = " + userDir);

        {
            final var file = new File("aaa.txt");

            System.out.println("------");
            System.out.println("file = " + file);
            System.out.println("isAbsolute = " + file.isAbsolute());
            System.out.println("getAbsoluteFile = " + file.getAbsoluteFile());
            System.out.println("getAbsolutePath = " + file.getAbsolutePath());
        }
        {
            final var file = new File("R:\\java-work\\bbb.txt");

            System.out.println("------");
            System.out.println("file = " + file);
            System.out.println("isAbsolute = " + file.isAbsolute());
            System.out.println("getAbsoluteFile = " + file.getAbsoluteFile());
            System.out.println("getAbsolutePath = " + file.getAbsolutePath());
        }
    }
}

// --- PowerShell ---
//PS R:\java-work> java Main.java
//user.dir = R:\java-work
//------
//file = aaa.txt
//isAbsolute = false
//getAbsoluteFile = R:\java-work\aaa.txt
//getAbsolutePath = R:\java-work\aaa.txt
//------
//file = R:\java-work\bbb.txt
//isAbsolute = true
//getAbsoluteFile = R:\java-work\bbb.txt
//getAbsolutePath = R:\java-work\bbb.txt

boolean isDirectory ()

Comprueba si el archivo indicado por esta ruta abstracta es un directorio. (Traducción automática)

final var file = new File("R:\\java-work\\aaa.txt");
System.out.println(file); // R:\java-work\aaa.txt

final var dir = new File("R:\\java-work\\dir");
System.out.println(dir); // R:\java-work\dir

final var nonExistentPath = new File("R:\\java-work\\xxx");
System.out.println(nonExistentPath); // R:\java-work\xxx

System.out.println(file.createNewFile()); // true
System.out.println(dir.mkdir()); // true

// --- PowerShell ---
//PS R:\java-work> ls | Format-Table -Property Mode, Name
//
//Mode  Name
//----  ----
//d---- dir
//-a--- aaa.txt

System.out.println(file.isFile()); // true
System.out.println(file.isDirectory()); // false
System.out.println(file.exists()); // true

System.out.println(dir.isFile()); // false
System.out.println(dir.isDirectory()); // true
System.out.println(dir.exists()); // true

System.out.println(nonExistentPath.isFile()); // false
System.out.println(nonExistentPath.isDirectory()); // false
System.out.println(nonExistentPath.exists()); // false

boolean isFile ()

Comprueba si el archivo indicado por esta ruta abstracta es un archivo normal. (Traducción automática)

final var file = new File("R:\\java-work\\aaa.txt");
System.out.println(file); // R:\java-work\aaa.txt

final var dir = new File("R:\\java-work\\dir");
System.out.println(dir); // R:\java-work\dir

final var nonExistentPath = new File("R:\\java-work\\xxx");
System.out.println(nonExistentPath); // R:\java-work\xxx

System.out.println(file.createNewFile()); // true
System.out.println(dir.mkdir()); // true

// --- PowerShell ---
//PS R:\java-work> ls | Format-Table -Property Mode, Name
//
//Mode  Name
//----  ----
//d---- dir
//-a--- aaa.txt

System.out.println(file.isFile()); // true
System.out.println(file.isDirectory()); // false
System.out.println(file.exists()); // true

System.out.println(dir.isFile()); // false
System.out.println(dir.isDirectory()); // true
System.out.println(dir.exists()); // true

System.out.println(nonExistentPath.isFile()); // false
System.out.println(nonExistentPath.isDirectory()); // false
System.out.println(nonExistentPath.exists()); // false

boolean isHidden ()

Comprueba si el archivo nombrado por esta ruta abstracta es un archivo oculto. (Traducción automática)

final var file = new File("R:\\java-work\\aaa.txt");
System.out.println(file); // R:\java-work\aaa.txt
System.out.println(file.createNewFile()); // true

System.out.println(file.isHidden()); // false

// --- PowerShell ---
//PS R:\java-work> ls -Force | Format-Table -Property Mode, Name
//
//Mode  Name
//----  ----
//-a--- aaa.txt

Files.setAttribute(file.toPath(), "dos:hidden", true);

System.out.println(file.isHidden()); // true

// --- PowerShell ---
//PS R:\java-work> ls -Force | Format-Table -Property Mode, Name
//
//Mode  Name
//----  ----
//-a-h- aaa.txt

long lastModified ()

Devuelve la hora en que se modificó por última vez el archivo indicado por esta ruta abstracta. (Traducción automática)

final var file = new File("R:\\java-work\\aaa.txt");
System.out.println(file); // R:\java-work\aaa.txt
System.out.println(file.createNewFile()); // true

final var zoneId = ZoneId.systemDefault();
System.out.println(zoneId); // Asia/Tokyo

final var dateTime1 = ZonedDateTime.of(2100, 1, 1, 0, 0, 0, 0, zoneId);
System.out.println(dateTime1); // 2100-01-01T00:00+09:00[Asia/Tokyo]

final var ret = file.setLastModified(dateTime1.toInstant().toEpochMilli());
System.out.println(ret); // true

// --- PowerShell ---
//PS R:\java-work> ls | Format-Table -Property LastWriteTime, Name
//
//LastWriteTime      Name
//-------------      ----
//2100/01/01 0:00:00 aaa.txt

final var lastModified = file.lastModified();
System.out.println(lastModified); // 4102412400000

final var dateTime2 = ZonedDateTime.ofInstant(
        Instant.ofEpochMilli(lastModified), zoneId);
System.out.println(dateTime2); // 2100-01-01T00:00+09:00[Asia/Tokyo]

long length ()

Devuelve la longitud del archivo indicado por esta ruta abstracta. (Traducción automática)

// --- PowerShell ---
//PS R:\java-work> tree /F
//...
//R:.
//│  aaa.txt
//│  bbb.txt
//│
//└─dir
//        ccc.txt
//
//PS R:\java-work> ls | Format-Table -Property Length, Name
//
//Length Name
//------ ----
//       dir
//5      aaa.txt
//1000   bbb.txt
//
//PS R:\java-work> ls dir | Format-Table -Property Length, Name
//
//Length Name
//------ ----
//    12 ccc.txt

final var file1 = new File("R:\\java-work\\aaa.txt");
System.out.println(file1); // R:\java-work\aaa.txt
System.out.println(file1.length()); // 5

final var file2 = new File("R:\\java-work\\bbb.txt");
System.out.println(file2); // R:\java-work\bbb.txt
System.out.println(file2.length()); // 1000

final var dir = new File("R:\\java-work\\dir");
System.out.println(dir); // R:\java-work\dir
System.out.println(dir.length()); // 0

String[] list ()

Devuelve una matriz de cadenas que nombran los archivos y directorios en el directorio indicado por esta ruta abstracta. (Traducción automática)

// --- PowerShell ---
//PS R:\java-work> tree /F
//...
//R:.
//│  aaa.txt
//│  bbb.txt
//│
//└─dir
//        ccc.txt
//        ddd.txt

{
    final var dir = new File("R:\\java-work");
    System.out.println(dir); // R:\java-work

    final var ret = dir.list();
    System.out.println(Arrays.toString(ret)); // [aaa.txt, bbb.txt, dir]
}
{
    final var dir = new File("R:\\java-work\\dir");
    System.out.println(dir); // R:\java-work\dir

    final var ret = dir.list();
    System.out.println(Arrays.toString(ret)); // [ccc.txt, ddd.txt]
}

String[] list (FilenameFilter filter)

Devuelve una matriz de cadenas que nombran los archivos y directorios en el directorio indicado por esta ruta abstracta que satisfacen el filtro especificado. (Traducción automática)

// --- PowerShell ---
//PS R:\java-work> ls -Name
//aaa.txt
//bbb.jpg
//ccc.txt
//ddd.jpg

final var dir = new File("R:\\java-work");
System.out.println(dir); // R:\java-work

final var filter = new FilenameFilter() {
    @Override
    public boolean accept(File dir, String name) {
        return name.endsWith(".txt");
    }
};

final var ret1 = dir.list();
System.out.println(Arrays.toString(ret1)); // [aaa.txt, bbb.jpg, ccc.txt, ddd.jpg]

final var ret2 = dir.list(filter);
System.out.println(Arrays.toString(ret2)); // [aaa.txt, ccc.txt]

File[] listFiles ()

Devuelve una matriz de rutas abstractas que indican los archivos en el directorio indicado por esta ruta abstracta. (Traducción automática)

// --- PowerShell ---
//PS R:\java-work> tree /F
//...
//R:.
//│  aaa.txt
//│  bbb.txt
//│
//└─dir
//        ccc.txt
//        ddd.txt

{
    final var dir = new File("R:\\java-work");
    System.out.println(dir); // R:\java-work

    final var files = dir.listFiles();
    if (files != null) {
        System.out.println("-- listFiles --");
        for (final var file : files) {
            System.out.println(file);
        }
    }

    // Result
    // ↓
    //-- listFiles --
    //R:\java-work\aaa.txt
    //R:\java-work\bbb.txt
    //R:\java-work\dir
}
{
    final var dir = new File("R:\\java-work\\dir");
    System.out.println(dir); // R:\java-work\dir

    final var files = dir.listFiles();
    if (files != null) {
        System.out.println("-- listFiles --");
        for (final var file : files) {
            System.out.println(file);
        }
    }

    // Result
    // ↓
    //-- listFiles --
    //R:\java-work\dir\ccc.txt
    //R:\java-work\dir\ddd.txt
}

File[] listFiles (FileFilter filter)

Devuelve una matriz de rutas abstractas que indican los archivos y directorios en el directorio indicado por esta ruta abstracta que satisfacen el filtro especificado. (Traducción automática)

// --- PowerShell ---
//PS R:\java-work> ls -Name
//aaa.txt
//bbb.jpg
//ccc.txt
//ddd.jpg

final var dir = new File("R:\\java-work");
System.out.println(dir); // R:\java-work

final var filter = new FileFilter() {
    @Override
    public boolean accept(File pathname) {
        return pathname.getName().endsWith(".txt");
    }
};

final var files = dir.listFiles(filter);
if (files != null) {
    System.out.println("-- listFiles --");
    for (final var file : files) {
        System.out.println(file);
    }
}

// Result
// ↓
//-- listFiles --
//R:\java-work\aaa.txt
//R:\java-work\ccc.txt

File[] listFiles (FilenameFilter filter)

Devuelve una matriz de rutas abstractas que indican los archivos y directorios en el directorio indicado por esta ruta abstracta que satisfacen el filtro especificado. (Traducción automática)

// --- PowerShell ---
//PS R:\java-work> ls -Name
//aaa.txt
//bbb.jpg
//ccc.txt
//ddd.jpg

final var dir = new File("R:\\java-work");
System.out.println(dir); // R:\java-work

final var filter = new FilenameFilter() {
    @Override
    public boolean accept(File dir, String name) {
        return name.endsWith(".txt");
    }
};

final var files = dir.listFiles(filter);
if (files != null) {
    System.out.println("-- listFiles --");
    for (final var file : files) {
        System.out.println(file);
    }
}

// Result
// ↓
//-- listFiles --
//R:\java-work\aaa.txt
//R:\java-work\ccc.txt

static File[] listRoots ()

Enumere las raíces del sistema de archivos disponibles. (Traducción automática)

final var roots = File.listRoots();
for (final var root : roots) {
    System.out.println(root);
}

// Result
// ↓
//C:\
//D:\
//...

boolean mkdir ()

Crea el directorio nombrado por esta ruta abstracta. (Traducción automática)

// --- PowerShell ---
//PS R:\java-work> ls -Name
//<No files / directories>

final var dir1 = new File("R:\\java-work\\dir1");
System.out.println(dir1); // R:\java-work\dir1

System.out.println(dir1.mkdir()); // true

// --- PowerShell ---
//PS R:\java-work> tree /F
//...
//R:.
//└─dir1

final var dir2 = new File(dir1, "dir2");
System.out.println(dir2); // R:\java-work\dir1\dir2

System.out.println(dir2.mkdir()); // true

// --- PowerShell ---
//PS R:\java-work> tree /F
//...
//R:.
//└─dir1
//    └─dir2
// --- PowerShell ---
//PS R:\java-work> ls -Name
//<No files / directories>

final var dir = new File("R:\\java-work\\dir1\\dir2");
System.out.println(dir); // R:\java-work\dir1\dir2

System.out.println(dir.mkdir()); // false

// --- PowerShell ---
//PS R:\java-work> ls -Name
//<No files / directories>

boolean mkdirs ()

Crea el directorio nombrado por esta ruta abstracta, incluidos todos los directorios principales necesarios pero inexistentes. (Traducción automática)

// --- PowerShell ---
//PS R:\java-work> ls -Name
//<No files / directories>

final var dir = new File("R:\\java-work\\dir1\\dir2");
System.out.println(dir); // R:\java-work\dir1\dir2

System.out.println(dir.mkdirs()); // true

// --- PowerShell ---
//PS R:\java-work> tree /F
//...
//R:.
//└─dir1
//    └─dir2

boolean renameTo (File dest)

Cambia el nombre del archivo indicado por esta ruta abstracta. (Traducción automática)

final var src = new File("R:\\java-work\\src.txt");
System.out.println(src); // R:\java-work\src.txt

final var dst = new File("R:\\java-work\\dst.txt");
System.out.println(dst); // R:\java-work\dst.txt

System.out.println(src.exists()); // true
System.out.println(dst.exists()); // false

// --- PowerShell ---
//PS R:\java-work> ls -Name
//src.txt
//PS R:\java-work> cat src.txt
//abcd

System.out.println(src.renameTo(dst)); // true

System.out.println(src.exists()); // false
System.out.println(dst.exists()); // true

// --- PowerShell ---
//PS R:\java-work> ls -Name
//dst.txt
//PS R:\java-work> cat dst.txt
//abcd

boolean setExecutable (boolean executable)

Un método conveniente para establecer el permiso de ejecución del propietario para esta ruta abstracta. (Traducción automática)

// --- Linux Terminal ---
//$ touch sample1.sh
//$ ls -l sample1.sh
//-rw-rw-r-- 1 xxxx xxxx 0 ... sample1.sh

final var os = System.getProperty("os.name");
System.out.println(os); // Linux

final var file = new File("sample1.sh");
System.out.println(file); // sample1.sh

System.out.println(file.canExecute()); // false
System.out.println(file.setExecutable(true)); // true

System.out.println(file.canExecute()); // true

// --- Linux Terminal ---
//$ ls -l sample1.sh
//-rwxrw-r-- 1 xxxx xxxx 0 ... sample1.sh
// --- Linux Terminal ---
//$ touch sample2.sh
//$ ls -l sample2.sh
//-rw-rw-r-- 1 xxxx xxxx 0 ... sample2.sh

final var file = new File("sample2.sh");
System.out.println(file); // sample2.sh

System.out.println(file.canExecute()); // false
System.out.println(file.setExecutable(true, false)); // true

System.out.println(file.canExecute()); // true

// --- Linux Terminal ---
//$ ls -l sample2.sh
//-rwxrwxr-x 1 xxxx xxxx 0 ... sample2.sh

boolean setExecutable (boolean executable, boolean ownerOnly)

Establece el permiso de ejecución del propietario o de todos para esta ruta abstracta. (Traducción automática)

// --- Linux Terminal ---
//$ touch sample1.sh
//$ ls -l sample1.sh
//-rw-rw-r-- 1 xxxx xxxx 0 ... sample1.sh

final var os = System.getProperty("os.name");
System.out.println(os); // Linux

final var file = new File("sample1.sh");
System.out.println(file); // sample1.sh

System.out.println(file.canExecute()); // false
System.out.println(file.setExecutable(true)); // true

System.out.println(file.canExecute()); // true

// --- Linux Terminal ---
//$ ls -l sample1.sh
//-rwxrw-r-- 1 xxxx xxxx 0 ... sample1.sh
// --- Linux Terminal ---
//$ touch sample2.sh
//$ ls -l sample2.sh
//-rw-rw-r-- 1 xxxx xxxx 0 ... sample2.sh

final var file = new File("sample2.sh");
System.out.println(file); // sample2.sh

System.out.println(file.canExecute()); // false
System.out.println(file.setExecutable(true, false)); // true

System.out.println(file.canExecute()); // true

// --- Linux Terminal ---
//$ ls -l sample2.sh
//-rwxrwxr-x 1 xxxx xxxx 0 ... sample2.sh

boolean setLastModified (long time)

Establece la hora de la última modificación del archivo o directorio nombrado por esta ruta abstracta. (Traducción automática)

final var file = new File("R:\\java-work\\aaa.txt");
System.out.println(file); // R:\java-work\aaa.txt
System.out.println(file.createNewFile()); // true

final var zoneId = ZoneId.systemDefault();
System.out.println(zoneId); // Asia/Tokyo

final var dateTime1 = ZonedDateTime.of(2100, 1, 1, 0, 0, 0, 0, zoneId);
System.out.println(dateTime1); // 2100-01-01T00:00+09:00[Asia/Tokyo]

final var ret = file.setLastModified(dateTime1.toInstant().toEpochMilli());
System.out.println(ret); // true

// --- PowerShell ---
//PS R:\java-work> ls | Format-Table -Property LastWriteTime, Name
//
//LastWriteTime      Name
//-------------      ----
//2100/01/01 0:00:00 aaa.txt

final var lastModified = file.lastModified();
System.out.println(lastModified); // 4102412400000

final var dateTime2 = ZonedDateTime.ofInstant(
        Instant.ofEpochMilli(lastModified), zoneId);
System.out.println(dateTime2); // 2100-01-01T00:00+09:00[Asia/Tokyo]

boolean setReadable (boolean readable)

Un método conveniente para establecer el permiso de lectura del propietario para esta ruta abstracta. (Traducción automática)

// --- Linux Terminal ---
//$ touch sample1.txt
//$ ls -l sample1.txt
//-rw-rw-r-- 1 xxxx xxxx 0 ... sample1.txt

final var os = System.getProperty("os.name");
System.out.println(os); // Linux

final var file = new File("sample1.txt");
System.out.println(file); // sample1.txt

System.out.println(file.canRead()); // true
System.out.println(file.setReadable(false)); // true

System.out.println(file.canRead()); // false

// --- Linux Terminal ---
//$ ls -l sample1.txt
//--w-rw-r-- 1 xxxx xxxx 0 ... sample1.txt
// --- Linux Terminal ---
//$ touch sample2.txt
//$ ls -l sample2.txt
//-rw-rw-r-- 1 xxxx xxxx 0 ... sample2.txt

final var file = new File("sample2.txt");
System.out.println(file); // sample2.txt

System.out.println(file.canRead()); // true
System.out.println(file.setReadable(false, false)); // true

System.out.println(file.canRead()); // false

// --- Linux Terminal ---
//$ ls -l sample2.txt
//--w--w---- 1 xxxx xxxx 0 ... sample2.txt

boolean setReadable (boolean readable, boolean ownerOnly)

Establece el permiso de lectura del propietario o de todos para esta ruta abstracta. (Traducción automática)

// --- Linux Terminal ---
//$ touch sample1.txt
//$ ls -l sample1.txt
//-rw-rw-r-- 1 xxxx xxxx 0 ... sample1.txt

final var os = System.getProperty("os.name");
System.out.println(os); // Linux

final var file = new File("sample1.txt");
System.out.println(file); // sample1.txt

System.out.println(file.canRead()); // true
System.out.println(file.setReadable(false)); // true

System.out.println(file.canRead()); // false

// --- Linux Terminal ---
//$ ls -l sample1.txt
//--w-rw-r-- 1 xxxx xxxx 0 ... sample1.txt
// --- Linux Terminal ---
//$ touch sample2.txt
//$ ls -l sample2.txt
//-rw-rw-r-- 1 xxxx xxxx 0 ... sample2.txt

final var file = new File("sample2.txt");
System.out.println(file); // sample2.txt

System.out.println(file.canRead()); // true
System.out.println(file.setReadable(false, false)); // true

System.out.println(file.canRead()); // false

// --- Linux Terminal ---
//$ ls -l sample2.txt
//--w--w---- 1 xxxx xxxx 0 ... sample2.txt

boolean setReadOnly ()

Marca el archivo o directorio nombrado por esta ruta abstracta para que solo se permitan operaciones de lectura. (Traducción automática)

final var file = new File("R:\\java-work\\aaa.txt");
System.out.println(file); // R:\java-work\aaa.txt
System.out.println(file.createNewFile()); // true

// --- PowerShell ---
//PS R:\java-work> ls | Format-Table -Property Mode, Name
//
//Mode  Name
//----  ----
//-a--- aaa.txt

System.out.println(file.setReadOnly()); // true

// --- PowerShell ---
//PS R:\java-work> ls | Format-Table -Property Mode, Name
//
//Mode  Name
//----  ----
//-ar-- aaa.txt

boolean setWritable (boolean writable)

Un método conveniente para establecer el permiso de escritura del propietario para esta ruta abstracta. (Traducción automática)

// --- Linux Terminal ---
//$ touch sample1.txt
//$ ls -l sample1.txt
//-rw-rw-r-- 1 xxxx xxxx 0 ... sample1.txt

final var os = System.getProperty("os.name");
System.out.println(os); // Linux

final var file = new File("sample1.txt");
System.out.println(file); // sample1.txt

System.out.println(file.canWrite()); // true
System.out.println(file.setWritable(false)); // true

System.out.println(file.canWrite()); // false

// --- Linux Terminal ---
//$ ls -l sample1.txt
//-r--rw-r-- 1 xxxx xxxx 0 ... sample1.txt
// --- Linux Terminal ---
//$ touch sample2.txt
//$ ls -l sample2.txt
//-rw-rw-r-- 1 xxxx xxxx 0 ... sample2.txt

final var file = new File("sample2.txt");
System.out.println(file); // sample2.txt

System.out.println(file.canWrite()); // true
System.out.println(file.setWritable(false, false)); // true

System.out.println(file.canWrite()); // false

// --- Linux Terminal ---
//$ ls -l sample2.txt
//-r--r--r-- 1 xxxx xxxx 0 ... sample2.txt

boolean setWritable (boolean writable, boolean ownerOnly)

Establece el permiso de escritura del propietario o de todos para esta ruta abstracta. (Traducción automática)

// --- Linux Terminal ---
//$ touch sample1.txt
//$ ls -l sample1.txt
//-rw-rw-r-- 1 xxxx xxxx 0 ... sample1.txt

final var os = System.getProperty("os.name");
System.out.println(os); // Linux

final var file = new File("sample1.txt");
System.out.println(file); // sample1.txt

System.out.println(file.canWrite()); // true
System.out.println(file.setWritable(false)); // true

System.out.println(file.canWrite()); // false

// --- Linux Terminal ---
//$ ls -l sample1.txt
//-r--rw-r-- 1 xxxx xxxx 0 ... sample1.txt
// --- Linux Terminal ---
//$ touch sample2.txt
//$ ls -l sample2.txt
//-rw-rw-r-- 1 xxxx xxxx 0 ... sample2.txt

final var file = new File("sample2.txt");
System.out.println(file); // sample2.txt

System.out.println(file.canWrite()); // true
System.out.println(file.setWritable(false, false)); // true

System.out.println(file.canWrite()); // false

// --- Linux Terminal ---
//$ ls -l sample2.txt
//-r--r--r-- 1 xxxx xxxx 0 ... sample2.txt

Path toPath ()

Devuelve un objeto java.nio.file.Path construido a partir de esta ruta abstracta. (Traducción automática)

final var file = new File("R:\\java-work\\aaa.txt");
System.out.println(file); // R:\java-work\aaa.txt

final var path = file.toPath();
System.out.println(path); // R:\java-work\aaa.txt

Files.writeString(path, "abcd");

// --- PowerShell ---
//PS R:\java-work> ls -Name
//aaa.txt
//PS R:\java-work> cat aaa.txt
//abcd

String toString ()

Devuelve la cadena de ruta de esta ruta abstracta. (Traducción automática)

final var file = new File("aaa.txt");
final var str = file.toString();
System.out.println(str); // aaa.txt
final var dir = new File("R:\\java-work\\dir");
final var str = dir.toString();
System.out.println(str); // R:\java-work\dir

URI toURI ()

Construye un archivo:URI que representa esta ruta abstracta. (Traducción automática)

final var file = new File("R:\\java-work\\aaa.txt");
System.out.println(file); // R:\java-work\aaa.txt

final var uri = file.toURI();
System.out.println(uri); // file:/R:/java-work/aaa.txt

URL toURL ()

Obsoleto. Este método no permite eludir automáticamente los caracteres que no son válidos en las URL. (Traducción automática)

Deprecated.


Related posts

To top of page