Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Duvida string

String[][] command12 = new String[][] { //MAC {"CMD", "/C", "WMIC NICCONFIG GET MACAddress"}, };

                                                for (String[] com12 : command12) {

                                                    Process process12 = Runtime.getRuntime().exec(com12);
                                                    process12.getOutputStream().close();
                                                    //Closing output stream of the process
                                                    out.println();
                                                    String s12 = null;
                                                    //Reading sucessful output of the command
                                                    BufferedReader reader12 = new BufferedReader(new InputStreamReader(process12.getInputStream()));

                                                    while ((s12 = reader12.readLine()) != null) {
                                                        String str12 = s12.trim();
                                                        String rs12 = str12.replaceFirst("MACAddress", "MAC: ");
                                                        out.print(rs12);

                                                }

Estou usando esta função para buscar o endereço MAC do computador só que ele me retorna 4 endereços e o que me interessa é o primeiro como faço pra pegar só o primeiro ou deletar os que estão a mais.

Obs: esta função retorna uma string de um comando do cmd não tenho muito controle sobre o que me é retornado estou limitado a funcionalidade dos comandos.

Output exemplo:

AA:AA:AA:AA:AA:AA BB:BB:BB:BB:BB:BB CC:CC:CC:CC:CC:CC DD:DD:DD:DD:DD:DD

No caso quero apenas o AA:AA:AA:AA:AA:AA

2 respostas
solução!

Boa noite, Rodrigo! Como vai?

Suponha o seguinte código.

String s = "AA:AA:AA:AA:AA:AA BB:BB:BB:BB:BB:BB CC:CC:CC:CC:CC:CC DD:DD:DD:DD:DD:DD";

Pra obter apenas a parte que vc disse que lhe interessa, vc poderia fazer assim.

String[] partes = s.split(" ");
String parteQueInteressa = partes[0];

O split() irá quebrar a string s exatamente nos espaços em branco e retornar um array de strings com o resultado dessa quebra. E a posição 0 será exatamente a que irá conter a informação que vc deseja.

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

De qualquer maneira obrigado mas eu preciso de algo mais genérico porque vou usar em vários computadores para coletar as informações essa é a complicação

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software