Gostaria de saber como coleto os dados de hardware

Olá, se alguém puder ajudar, gostaria de saber se existe algum framework específico ou se o próprio java tem métodos para coletar os dados de hardware como tamanho, espaço usado e espaço livre de hard disk, tambem memória utilizada.

Alguns desses dados, como o Marlon falou no outro tópico, você pode pegar pela classe File, ou pela classe Runtime (que te fornece informações sobre memória disponível para o processo, mas em relação à VM, não ao hardware).

Dados sobre a VM podem ser obtidos com o comando System.getProperty, a lista completa de dados desse comando está no javadoc do método System.getProperties().

Outros dados mais específicos, como tipos de dispositivo e outros dados de hardware, só acessando comandos específicos de SO, seja através de JNI ou JNA. Porém, essa é uma solução trabalhosa e pouco portável. Se você precisa de coisas assim, considere a possibilidade de não usar o Java, e sim, uma linguagem não gerenciada como C++.

Reiterando o que o Vini disse, você pode criar bibliotecas dinâmicas (dll - Windows / so Unix)em uma linguagem de baixo (Assembly) ou médio nível ©, e usar as funções desta biblioteca dinâmica em seu código escrito em Java. Daí, para deixar seu programa mais portável, caso seja necessário, você pode usar uma estrutura de decisão, verificando em qual ambiente você está. Para isso você pode usar a classe getProperty():

Só que lhe digo uma coisa: se o seu objetivo não for portabilidade, e não haver mais nada além disse, é melhor escrever direto em uma linguagem de baixo ou médio nível, como eu havia dito.

A idéia é ter portabilidade. vou dar umas pesquisadas com as informações que voces enviaram e qualquer coisa volto a tirar mais duvidas aqui. Muito obrigado!!!