Leitura de aruivo: como ignorar a primeira linha?

3 respostas
M

Opa :smiley:

Tenho o seguinte método:

public void carregarArquivoImportado(){
		try
		{
				InputStream inputStream = getUploadedFile().getInputStream();
				InputStreamReader reader = new InputStreamReader(inputStream);
				BufferedReader buffered = new BufferedReader(reader);
				StringBuilder builder = new StringBuilder();
				String linhaLida;
			
				while(buffered.readLine() != null){
					if(buffered.readLine().contains("")){
						return;
					}
					linhaLida = buffered.readLine();	
				
				}

		} catch (IOException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

MAs eu preciso sempre ignorar a primeira linha do arquivo…como que eu faço isso?

3 Respostas

T

Quiconfusão!

public void carregarArquivoImportado(){
		try
		{
				InputStream inputStream = getUploadedFile().getInputStream();
				InputStreamReader reader = new InputStreamReader(inputStream);
				BufferedReader buffered = new BufferedReader(reader);
				StringBuilder builder = new StringBuilder();
				String linhaLida;
                                
                                linhaLida = buffered.readLine(); // pulamos a primeira linha...
                                for (linhaLida = buffered.readLine(); linhaLida != null; linhaLida = buffered.readLine()) 
                                {
                                    // processar a linha lida.
                                }
		} catch (IOException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
J

Crie uma variavel contador antes do while. Atribua valor 1 para essa variavel.
Dentro do while, você testa o valor da variavel, se for 1, use o comando continue para ir para a próxima iteração do while. Algo mais ou menos assim

int count = 1;
while(buffered.readLine() != null){
  if (count == 1) { //ela sempre irá executar na primeira vez que entrar no while, ou seja, a primeira linha do arquivo
    count++;
    continue;
  }
  //continue o resto do método aqui
M
thingol:
Quiconfusão!
public void carregarArquivoImportado(){
		try
		{
				InputStream inputStream = getUploadedFile().getInputStream();
				InputStreamReader reader = new InputStreamReader(inputStream);
				BufferedReader buffered = new BufferedReader(reader);
				StringBuilder builder = new StringBuilder();
				String linhaLida;
                                
                                linhaLida = buffered.readLine(); // pulamos a primeira linha...
                                for (linhaLida = buffered.readLine(); linhaLida != null; linhaLida = buffered.readLine()) 
                                {
                                    // processar a linha lida.
                                }
		} catch (IOException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

hauehaue é pq eu to colando uns exemplos da net pq eu to lendo um arquivo csv vindo de um componente tomahawk, ai ta tudo jogado..depois eu organizo :D

Criado 22 de outubro de 2008
Ultima resposta 22 de out. de 2008
Respostas 3
Participantes 3