Ler arquivo que ja vem com uma linha em branco [RESOLVIDO]

7 respostas
R
Salve galera eu estou criando um aplicativo pequeno para ler um arquivo que é executado pelo Runtime e salva num arquivo de texto. O arquivo vem assim depois que eu salvo (com ipconfig > c:\ip.txt):
Configurao de IP do Windows


Adaptador Ethernet ConexÆo local:

   Sufixo DNS espec¡fico de conexÆo. . . . . . : 
   Endere?o IPv6 de link local . . . . . . . . : fe80::197b:a1ce:cff8:84bd%14
   Endere?o IPv4. . . . . . . .  . . . . . . . : 172.31.146.54
   M scara de Sub-rede . . . . . . . . . . . . : 255.255.255.0
   Gateway PadrÆo. . . . . . . . . . . . . . . : 172.31.146.21

Adaptador de t£nel isatap.{9036F750-E0D4-4029-B785-AD5897C5457B}:
... e por ai vai....
O problema é quando eu faço isso:
File arq = new File("C:\\ip.txt");
      try {
          FileReader fr = new FileReader(arq);
          
          BufferedReader br = new BufferedReader(fr);
          
          String linha = "";
          
          while ((linha = br.readLine()) != null) {
              System.out.println();
              areadeTexto.setText(linha+"\n");
          }
          fr.close();
          br.close();
ele começa lendo a linha em branco e nao mostra nada e num joga no jtextarea. Teria como ele ignorar (ou outro jeito) de começar ja na onde tem texto? Como eu conseguiria transformar só a linha Endere?o IPv4. . . . . . . . . . . . . . . : 172.31.146.54 numa String para eu tratar depois (tirar só o numero IP)? Quem quiser ver o que eu estou falando digita no executar: ipconfig > c:\ip.txt! Antes do texto tem uma linha em branco...

Obrigado desde já.

7 Respostas

F

Area de texto é um textArea?

Se for, troque o setText() por append().

Sua linha já é uma String. Pode fazer o que quiser.

leocantanhede

Mude aqui:

while (br.ready()) {

   linha = br.readLine();
   areadeTexto.setText(linha+"\n");
   System.out.println(linha);
   
}
R

leocantanhede Legal mas agora ele só pega essa linha

Sufixo DNS espec¡fico de conexÆo. . . . . . : ignorando as duas primeiras e nem chagando no fim do arquivo ficando assim…

O que pode ser?

Obrigado a todos!

Master.Abs

Bom, estou postando o código de acordo com o que eu entendi do problema.
Espero que ajude.

try{
			File file = new File("/ip.txt");
			
			FileReader fileReader = new FileReader(file);
			BufferedReader reader = new BufferedReader(fileReader);
			StringBuffer linha = new StringBuffer();
			while((reader.readLine()) != null){
				linha.append(reader.readLine()).append("\n");
			}
			areadeTexto.setText(linha.toString()); 
			System.out.println(linha);
			
			fileReader.close();
			reader.close();
			
		}catch(Exception e){
			System.out.println(e);
		}

Flw.

sephil

Bom, se você quer pegar apenas o endereço ip, acredito que o mais fácil é ir por aqui:

InetAddress.getLocalHost();
R

Seguindo a dica do sephil ficou assim:

try{ InetAddress end = InetAddress.getLocalHost(); System.out.println(end); String conv = new String(); conv = end.toString(); areadeTexto.setText(conv); } catch (UnknownHostException e){ System.out.println(e.getMessage()); }

e está muito bom. Obrigado a todos!

CyberX

Cool não sabia dessa.

Tks.

Criado 4 de abril de 2012
Ultima resposta 10 de abr. de 2012
Respostas 7
Participantes 6