La classe File rappresenta un’astrazione di un percorso di file o directory nel file system. Non gestisce direttamente la lettura o scrittura dei contenuti, ma fornisce metodi per creare, eliminare, rinominare file o directory e per ottenere informazioni su di essi (dimensioni, percorso, permessi, ecc.).

Package: java.io


CARATTERISTICHE PRINCIPALI

Può rappresentare sia file che directory. Supporta percorsi relativi e assoluti. Non apre il file per la lettura/scrittura (serve solo a rappresentarlo). Compatibile con sistemi operativi diversi (gestisce separatori di percorso File.separator).


METODI PRINCIPALI

MetodoDescrizione
exists()Restituisce true se il file o directory esiste.
createNewFile()Crea un nuovo file vuoto.
delete()Elimina il file o directory.
getName()Restituisce il nome del file/directory.
getAbsolutePath()Restituisce il percorso assoluto.
getPath()Restituisce il percorso così come fornito nel costruttore.
length()Restituisce la dimensione del file (in byte).
isFile()Restituisce true se è un file normale.
isDirectory()Restituisce true se è una directory.
list()Restituisce un array di stringhe con i nomi dei file nella directory.
listFiles()Restituisce un array di oggetti File contenenti i file della directory.
mkdir()Crea una directory.
mkdirs()Crea directory intermedie necessarie.

ESEMPIO

import java.io.File;
import java.io.IOException;
 
public class FileExample {
    public static void main(String[] args) {
        try {
            // Creazione oggetto File
            File file = new File("esempio.txt");
 
            // Creazione fisica del file se non esiste
            if (file.createNewFile()) {
                System.out.println("File creato: " + file.getName());
            } else {
                System.out.println("Il file esiste già.");
            }
 
            // Informazioni sul file
            System.out.println("Percorso assoluto: " + file.getAbsolutePath());
            System.out.println("Dimensione: " + file.length() + " byte");
            System.out.println("È un file? " + file.isFile());
            System.out.println("È una directory? " + file.isDirectory());
 
        } catch (IOException e) {
            System.out.println("Si è verificato un errore.");
            e.printStackTrace();
        }
    }
}