2014-01-29 12 views
9

Ich konnte nicht genau zwischen getFreeSpace() und getUsableSpace()File Klasse unterscheiden. Wenn ich den folgenden Code ausführe, bekomme ich den gleichen Code.Unterschied zwischen getFreespace() und getUsableSpace von Datei

Class Start { 
    public static void main(String [] args) { 
     File myfile = new File("C:\\html\abc.txt"); 
     myfile.createNewFile(); 
     Systyem.out.println("free space"+myfile.getFreeSpace()+"usable space"+myfile.getUsableSpace());") 
    } 
} 

O/P ist

frei space445074731008 verwendbar space445074731008

Könnte jemand mir sagen, was genau Unterschied?

+0

Auf diesem Link wird vorgeschlagen, für echte Wert zu verwenden GetUsableSpace(): http://www.onkarjoshi.com/blog/203/difference-between-free-space-and-usable-space/ – ssasa

Antwort

12

Die Methode java.io.File.getFreeSpace() gibt die Anzahl der nicht zugeordneten Bytes in der Partition zurück, die von diesem abstrakten Pfadnamen benannt wird. Die zurückgegebene Anzahl nicht zugewiesener Bytes ist keine Garantie. Die Anzahl nicht zugewiesener Bytes ist wahrscheinlich unmittelbar nach diesem Aufruf genau und durch externe E/A-Operationen ungenau.

Die Methode java.io.File.getUsableSpace() gibt die Anzahl der Bytes zurück, die für diese virtuelle Maschine auf dem partitionierten Namen mit diesem abstrakten Namen verfügbar sind. Diese Methode liefert normalerweise eine genauere Schätzung darüber, wie viele neue Daten tatsächlich geschrieben werden können, wenn diese Methode nach Schreibberechtigungen und anderen Betriebssystemeinschränkungen sucht.

+0

Freiraum> = Nutzbarer Platz. – CopsOnRoad

+0

"wahrscheinlich genau" => "wahrscheinlich ungenau"? – Trejkaz

Verwandte Themen