Frage

Ich will die Größe eines Laufwerks (oder UNC-Pfad zu einer Partition zeigen wäre schön, aber nicht erforderlich) bekommen, sowie Freiraum für den Antrieb (oder UNC-Pfad). Das muss nicht Cross-Plattform arbeiten; nur unter Windows.

Ich weiß, es ist einfach in Java 6 zu tun, aber das ist keine Option; Ich steckte mit Java 5.

Ich kann den freien Speicherplatz erhalten, indem Sie:

  

cmd.exe / c Z: \ / c

     

oder

     

cmd.exe / c \\ server \ share / -c

und Parsen aus nur die resultierenden Bytes frei. Allerdings kann ich nicht scheinen, einen Weg zu finden, die Gesamtlaufwerksgröße zu erhalten.

Irgendwelche Vorschläge?

War es hilfreich?

Lösung

Eine Möglichkeit, dies zu tun wäre, auf der Kommandozeile zu benutzen fsutil. Es gibt so etwas wie folgt aus:

D:\>fsutil fsinfo ntfsinfo c:
NTFS Volume Serial Number :       0xd49cf9cf9cf9ac5c
Version :                         3.1
Number Sectors :                  0x0000000004a813ff
Total Clusters :                  0x000000000095027f
Free Clusters  :                  0x00000000002392f5
Total Reserved :                  0x0000000000000490
Bytes Per Sector  :               512
Bytes Per Cluster :               4096
Bytes Per FileRecord Segment    : 1024
Clusters Per FileRecord Segment : 0
Mft Valid Data Length :           0x000000000e70c000
Mft Start Lcn  :                  0x00000000000c0000
Mft2 Start Lcn :                  0x0000000000000010
Mft Zone Start :                  0x0000000000624ea0
Mft Zone End   :                  0x0000000000643da0

Multipy die Anzahl der Sektoren mal der Bytes pro Sektor Ihre Größe zu erhalten.

Andere Tipps

Sie können dies tun, ziemlich leicht einen JNI-Aufruf, wenn Sie mit, die bequem sind ...

Wenn Sie eine abgepackte Bibliothek möchten, die Sie mit jdk1.5, werfen Sie einen Blick auf die Apache FileSystemUtils

Diese wickelt nur den Systemaufruf, die Sie beschreiben, aber zumindest ist es eine Standard-Bibliothek, die Sie verwenden können, bis Sie in der Lage sind 1.6 zu verwenden.

Sie könnten die SIGAR Bibliothek, die Sie nativen Zugriff auf vielen Plattformen gibt .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top