Descobrir sistema operacional

Pessoal em Java tem como eu descobrir qual sistema operacional está sendo executado naquele momento?

System.getProperty("os.name");

De qualquer maneira, evite escrever código que dependa do sistema operacional, a menos que seja estritamente necessário.

1 curtida

Todas as propriedades da VM são encontradas com em System.getProperties()

O código abaixo imprime todas elas:

System.out.println(System.getProperties());
1 curtida

Como de costume, se o código for executado em um application server, pode ser que ele proíba a execução de certas coisas, como System.getProperties. É questão de checar as configurações de segurança do application server.

A aplicação é desktop. Valeu pelas dicas.

Eu de curioso que sou fui fazer um teste com:

System.out.println(System.getProperties()); // Acabou imprimindo todas as propriedades do VM como o rmarin nos disse, e utilizando o maravilhoso Eclipse descobri o:

System.out.println(System.getProperty(“os.name”));

Que ao compilar imprimiu na tela apenas a versão do SO.

Só para constar.

public class TesteSo {
	
	public static void main (String args []) {
		System.out.println(System.getProperty("os.name"));
	}
}
1 curtida

Tem um método que retorna um enumeration, do qual você pode usar as propriedades para obter o valor requirido.

Pode indicar qual é esse método?
Obrigado.

Dê uma olhadinha aqui…

http://docs.oracle.com/javase/6/docs/api/java/lang/System.html

Há um método chamado getProperties.