Pergunta

Eu quero ficar do tamanho de um carro (ou UNC caminho apontando para uma partição seria bom, mas não é obrigatório), bem como espaço livre para a referida unidade (ou caminho UNC). Isso não precisa trabalhar em várias plataformas; apenas no Windows.

Eu sei que é fácil de fazer em Java 6, mas isso não é uma opção; Eu estou preso com Java 5.

posso obter o espaço livre disponível fazendo:

cmd.exe / c Z: \ / -c

ou

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

e apenas analisar o resultante bytes livres. No entanto, eu não consigo encontrar uma maneira de obter o tamanho total da unidade.

Todas as sugestões?

Foi útil?

Solução

Uma maneira de fazer isso seria usar fsutil na linha de comando. Ele retorna algo como isto:

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 seu número de setores vezes os bytes por setor para obter o seu tamanho.

Outras dicas

Você pode fazer isso muito facilmente usando uma chamada JNI se você está confortável com isso ...

Se você quiser uma biblioteca pré-embalados que você pode usar com jdk1.5, dê uma olhada no Apache FileSystemUtils

Isso só envolve a chamada de sistema que você descreve, mas pelo menos é uma biblioteca padrão que você pode usar até que você é capaz de usar 1.6.

Você pode usar o href="http://support.hyperic.com/display/SIGAR/Home" rel="nofollow noreferrer"> SIGAR biblioteca , que lhe dá acesso nativo em muitas plataformas .

scroll top