Come ottenere le dimensioni del file in Java

Possibile duplicato:
Dimensione della cartella o del file

Ho usato questo codice per creare un’istanza di un object File :

 File f = new File(path); 

Come ottengo le dimensioni di questo file?

Qual è la differenza tra getUsableSpace() , getTotalSpace() e getFreeSpace() ?

Utilizzare il metodo length() nella class File . Dal javadocs:

Restituisce la lunghezza del file indicato da questo percorso astratto. Il valore restituito non è specificato se questo percorso indica una directory.

Per la seconda parte della domanda, direttamente dai javadoc di File :

  • getUsableSpace() Restituisce il numero di byte disponibili per questa macchina virtuale sulla partizione chiamata da questo percorso astratto

  • getTotalSpace() Restituisce la dimensione della partizione nominata da questo percorso astratto

  • getFreeSpace() Restituisce il numero di byte non allocati nella partizione nominata da questo nome di percorso astratto

Hai provato

 long length = f.length(); 

Per le differenze tra getUsableSpace (), getTotalSpace (), getFreeSpace (), dai un’occhiata a questo miglioramento in J2SE 1.6

Ho fatto un rapido google. Sembra che per trovare la dimensione del file lo fai,

 long size = f.length(); 

Le differenze tra i tre metodi che hai postato possono essere trovate qui

getFreeSpace () e getTotalSpace () sono piuttosto auto-esplicativi, getUsableSpace () sembra essere lo spazio che la JVM può usare, che nella maggior parte dei casi sarà uguale alla quantità di spazio libero.