Leitura em arquivo

2 respostas
V

Pessoal, gravei um arquivo que ficou desta forma:

10
3
3 6
2 8
5 11

quero associar essas linhas a algumas variaveis… a leitura das duas primeiras linhas eu faço legal… mas quando começa essas linhas que possuem dois numeros eu nao sei ler, pq o primeiro numero dessa linha deve ser atribuido a uma posicao de um vetor e o segundo numero na mesma posicao em outro vetor.
deu pra entender?

quero que o tres 3 seja atribuido a c[0], o 6 a m[0]… o 2 a c[1] o 8 m[1] o 5 c[2] e o 11 m[2]

o programa de leitura ta assim…:

import java.io.*;

public class LeArquivo {

            Instancia instancia = new Instancia();

            public Instancia lerInstancia(String nome) {

		try {
			File file = new File(nome + ".ins");
			FileReader reader = new FileReader(file);
			BufferedReader leitor = new BufferedReader(reader);
			System.out.println(file.length());

			String array[] = new String[(int) file.length()];

			for (int i = 0; i < file.length(); i++) {

				array[i] = leitor.readLine();

			}

			instancia.comprimento = Integer.parseInt(array[0]);
			instancia.quantidade = Integer.parseInt(array[1]);
                                                //aqui deveria continuar a leitura do array e atribuir aos vetores m e c...

			leitor.close();
			reader.close();
		}

		catch (Exception e) {
			System.out.println(e);
		}

		return instancia;

	}
}

*editado por: Diana
Use BBcode

2 Respostas

C

Um exemplo prático pode ser feito com o codigo abaixo.

String linha = "3 6 9 63 20";
            
            String[] linhaQuebrada = t.split( " " );
            
            for( int i =0 ; i < linhaQuebrada.length ; i++ ){
                   System.out.println( linhaQuebrada[i] );
            }

testa ai

S
String linha = "3 6 9 63 20";
           
            String[] linhaQuebrada = linha.split( " " );
           
            for( int i =0 ; i < linhaQuebrada.length ; i++ ){
                   System.out.println( linhaQuebrada[i] );
            }

Só mudando o t.split(" “) para linha.split(” ").

o metodo split separa uma string, por um separador(no seu caso o espaço), retornando um array de String.

exemplo:

String lista = "1#2#3#4#5"; 
  String[] itens =  lista.split("#");
  //String[0] = "1";
  //String[1] = "2";
  //String[2] = "3";
  //String[3] = "4";
  //String[4] = "5";
Criado 21 de maio de 2007
Ultima resposta 21 de mai. de 2007
Respostas 2
Participantes 3