Domanda

Come trovare quanto spazio su disco rimane usando Java?

È stato utile?

Soluzione

Guarda la classe File documentazione . Questa è una delle nuove funzionalità della 1.6.

Questi nuovi metodi includono anche:

  • public long getTotalSpace()
  • public long getFreeSpace()
  • public long getUsableSpace()

Se stai ancora utilizzando 1.5, puoi utilizzare la libreria Apache Commons IO e la sua Classe FileSystem

Altri suggerimenti

Java 1.7 ha un'API leggermente diversa, lo spazio libero può essere interrogato tramite FileStore tramite la getTotalSpace () , getUnallocatedSpace ( ) e getUsableSpace () metodi.

NumberFormat nf = NumberFormat.getNumberInstance();
for (Path root : FileSystems.getDefault().getRootDirectories()) {

    System.out.print(root + ": ");
    try {
        FileStore store = Files.getFileStore(root);
        System.out.println("available=" + nf.format(store.getUsableSpace())
                            + ", total=" + nf.format(store.getTotalSpace()));
    } catch (IOException e) {
        System.out.println("error querying space: " + e.toString());
    }
}

Il vantaggio di questa API è che si ottengono eccezioni significative quando la query dello spazio su disco non riesce.

collegamento

  

Se sei un programmatore Java, puoi   è già stato chiesto questo semplice,   domanda stupida: & # 8220; come trovare il   spazio libero su disco rimasto sul mio sistema? & # 8221 ;.   Il problema è che la risposta è   dipendente dal sistema. In realtà, è il   implementazione che è sistema   dipendente. E fino a poco tempo fa,   non c'era una soluzione unica a cui rispondere   questa domanda, anche se è necessario   stato registrato nel database dei bug di Sun & # 8217; s   dal giugno 1997. Ora è possibile   ottenere lo spazio libero su disco in Java 6 con   un metodo nella classe File, che   restituisce il numero di non allocati   byte nella partizione denominata da   nome percorso astratto. Ma potresti esserlo   interessato allo spazio su disco utilizzabile   (quello che è scrivibile). È pari   possibile ottenere lo spazio su disco totale   di una partizione con il metodo   getTotalSpace ().

nel controllo dello spazio su disco usando java hai il seguente metodo nella classe di file java.io

  • getTotalSpace ()
  • GetFreeSpace ()

che ti aiuterà sicuramente a ottenere le informazioni richieste. Ad esempio puoi fare riferimento a http: // javatutorialhq.com/java/example-source-code/io/file/check-disk-space-java/ che fornisce un esempio concreto nell'uso di questi metodi.

public class MemoryStatus{  
 public static void main(String args[])throws Exception{  
  Runtime r=Runtime.getRuntime();  
  System.out.println("Total Memory: "+r.totalMemory());  
  System.out.println("Free Memory: "+r.freeMemory());    
 }
}

Prova questo codice per ottenere spazio su disco

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top