Come trovare quanto spazio su disco è rimasto usando Java?
Domanda
Come trovare quanto spazio su disco rimane usando Java?
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.
Usa CommonsIO e FilesystemUtils:
es.
FileSystemUtils.freeSpaceKb("/");
o integrato nel JDK:
http: // java .sun.com / JavaSE / 6 / docs / api / java / io / file.html # GetFreeSpace ()
new File("/").getFreeSpace();
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