Mas como posso resolver esse problema? Novamente, vamos requisitar na linha de comando do Windows. Vejo o código abaixo:
public String whatOSArchitecture() throws IOException{
ProcessBuilder builder = new ProcessBuilder("cmd.exe", "/c","wmic OS get OSArchitecture");
builder.redirectErrorStream(true);
Process p = builder.start();
InputStream is = p.getInputStream();
BufferedReader br = null;
StringBuilder sb = new StringBuilder();
String line;
try {
br = new BufferedReader(new InputStreamReader(is));
while ((line = br.readLine()) != null) {
sb.append(line);
}
} finally {
if (br != null) {
br.close();
}
}
return sb.toString();
}
Praticamente é o mesmo de ontem, a diferença é que invocamos o comando "wmic OS get OSArchitecture". O programa "wmic" é um programa de gerenciamento do Windows para linha de comando, e naturalmente, possui os comandos que precisamos, neste caso: seria o "OS get OSArchitecture", que vai nos retornar a arquitetura do sistema.
O restante é o básico: executa o comando, leia o retorno e retorna o que você deseja. Dá até para fazer um método com o que tem em comum com o nosso artigo anterior.
ProcessBuilder builder = new ProcessBuilder("cmd.exe", "/c","wmic OS get OSArchitecture");
builder.redirectErrorStream(true);
Process p = builder.start();
InputStream is = p.getInputStream();
BufferedReader br = null;
StringBuilder sb = new StringBuilder();
String line;
try {
br = new BufferedReader(new InputStreamReader(is));
while ((line = br.readLine()) != null) {
sb.append(line);
}
} finally {
if (br != null) {
br.close();
}
}
return sb.toString();
}
Praticamente é o mesmo de ontem, a diferença é que invocamos o comando "wmic OS get OSArchitecture". O programa "wmic" é um programa de gerenciamento do Windows para linha de comando, e naturalmente, possui os comandos que precisamos, neste caso: seria o "OS get OSArchitecture", que vai nos retornar a arquitetura do sistema.
O restante é o básico: executa o comando, leia o retorno e retorna o que você deseja. Dá até para fazer um método com o que tem em comum com o nosso artigo anterior.
Nenhum comentário:
Postar um comentário