Domanda

Voglio ottenere le dimensioni di un'unità (o il percorso UNC che punta a una partizione sarebbe bello, ma non necessario), così come lo spazio libero per detta unità (o percorso UNC). Questo non deve funzionare su più piattaforme; solo in Windows.

So che è facile farlo in Java 6, ma questa non è un'opzione; Sono bloccato con Java 5.

Posso ottenere lo spazio libero disponibile facendo:

  

cmd.exe / c Z: \ / -c

     

o

     

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

e semplicemente analizzando i byte risultanti liberi. Tuttavia, non riesco a trovare un modo per ottenere la dimensione totale dell'unità.

Qualche suggerimento?

È stato utile?

Soluzione

Un modo per farlo sarebbe usare fsutil sulla riga di comando. Restituisce qualcosa del genere:

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

Moltiplica il tuo numero di settori per i byte per settore per ottenere la tua dimensione.

Altri suggerimenti

Potresti farlo abbastanza facilmente usando una chiamata JNI se ti senti a tuo agio con questo ...

Se desideri una libreria preconfezionata che puoi utilizzare con JDK1.5, dai un'occhiata a Apache FileSystemUtils

Questo avvolge semplicemente la chiamata di sistema che descrivi, ma almeno è una libreria standard che puoi usare fino a quando non sarai in grado di usare 1.6.

Puoi utilizzare la libreria SIGAR , che ti dà accesso nativo su molte piattaforme .

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