Como Pular A Primeira Linha Do CSV

2 respostas
javaprogramação
A

jovens , eu preciso de uma ajuda dos senhores , meu algorítimo ta tudo ok , ( pelo menos eu acho que está né ) , só que estou tratando um arquivo CSV e quando eu coloco ele pra rodar , ele roda tranquilo , porém a primeira linha do CSV aparece , e eu não quero que ela apareça , quero pular ela , quero que comece digamos da segunda linha …
Pra ficar melhor vou colocar aqui o algorítimo e a saída dela …

Algorítimo :::::

package AlgoritimoQueVai;

import java.io.*;

public class PagarMinhaFaculdade {

public static void main(String[] args) {

	String arquivoCSV = ("D:\\estoque.csv");
	String linha ="";
	String separadorDeCampo = ";";
	BufferedReader conteudoCSV = null;
	
	try {
		conteudoCSV = new BufferedReader (new FileReader(arquivoCSV));
		
		

		while((linha = conteudoCSV.readLine()) != null) {
		
			String [] campo = linha.split(separadorDeCampo);
			
			String formato = String.format("Produto: %-70s |Marca: %-20s |Preço: %-20s |Quantidade: %s", campo[0], campo[1], campo[2], campo[3]);
			
			System.out.println(formato);
		}
	}catch(FileNotFoundException e) {
		System.out.println("Arquivo não encontrado: " + e.getMessage());
	}catch(ArrayIndexOutOfBoundsException e) {
		System.out.println("Indice Errado!" + e.getMessage());
	}catch(IOException e) {
		System.out.println("IO erro: " + e.getMessage());
	}finally{
		if (arquivoCSV != null) {
			try {
				conteudoCSV.close();
	}catch(IOException e) {
		System.out.println("IO erro: " + e.getMessage());
		}}}}}

E a Saída dele fica:::::::

Produto: produto |Marca: marca |Preço: preco |Quantidade: estoque
Produto: Pen Drive Cruzer Blade USB 2.0 8GB SDCZ50-008G-B35 |Marca: SanDisk |Preço: 18.90 |Quantidade: 19
Produto: Chromecast 2 |Marca: Google |Preço: 269.00 |Quantidade: 12
Produto: Caixa de Som JBL Trip - Preta |Marca: JBL |Preço: 465.78 |Quantidade: 1
Produto: Memoria HyperX FURY 4GB 1866Mhz DDR3 CL10 Black Series - HX318C10FB/4 |Marca: Kingston |Preço: 119.90 |Quantidade: 6
Produto: Caixa de Som x100 - Azul e Laranja |Marca: Logitech |Preço: 99.99 |Quantidade: 6
Produto: Switch HDMI 1.3 9241 |Marca: Comtac |Preço: 159.89 |Quantidade: 8
Produto: HD Externo Portatil - 1.000GB (1TB) / USB 3.0 |Marca: Western Digital |Preço: 309.90 |Quantidade: 6
Produto: HD Externo 500GB - Canvio Basics - Preto |Marca: Toshiba |Preço: 254.91 |Quantidade: 5
Produto: Leitor de Codigo de Barras HS-950 (USB) |Marca: Comtac |Preço: 295.90 |Quantidade: 4
Produto: Pen Drive USB 2.0 8GB KC-U768G-4CR - Vermelho |Marca: Kingston |Preço: 14.90 |Quantidade: 9
Produto: Pen Drive DataTraveler USB 2.0 16GB DTGE9/16GB - Dourado |Marca: Kingston |Preço: 39.90 |Quantidade: 4
Produto: Pen Drive Ultra Fit 3.0 32GB SDCZ43-032G-G46 |Marca: SanDisk |Preço: 59.90 |Quantidade: 6
Produto: Pen Drive DataTraveler USB 3.0 32GB DTSE9G2/32GB |Marca: Kingston |Preço: 64.90 |Quantidade: 5
Produto: Webcam HD 720P C270 |Marca: Logitech |Preço: 93.50 |Quantidade: 11
Produto: Caixa de Som JBL GO 3W - Preta |Marca: JBL |Preço: 149.90 |Quantidade: 2
Produto: WebCam C920 Pro HD 15MP Full HD1080p |Marca: Logitech |Preço: 279.90 |Quantidade: 5
Produto: Leitor de Codigo de Barras SM-LCB02 (USB) |Marca: Sumay |Preço: 194.91 |Quantidade: 5
Produto: Mouse Sem Fio M170 Cinza - 910-004425 |Marca: Logitech |Preço: 41.90 |Quantidade: 22
Produto: Caixa de Som JBL GO 3W - Azul |Marca: JBL |Preço: 149.90 |Quantidade: 3
Produto: Mouse Optico USB M90 Preto |Marca: Logitech |Preço: 25.90 |Quantidade: 17
Produto: SSD 2.5 SUV400S37/120G |Marca: Kingston |Preço: 219.90 |Quantidade: 12
Produto: Teclado com Fio USB K120 Preto Resistente a Agua |Marca: Logitech |Preço: 46.90 |Quantidade: 23
Produto: Roteador Wireless AC 750Mbps Dual Band 3 ant. - DIR-809 |Marca: D-Link |Preço: 139.90 |Quantidade: 12
Produto: Roteador Wireless 150 Mbps - DIR-610 |Marca: D-Link |Preço: 59.90 |Quantidade: 17
Produto: Roteador 300 Mbps TL-WR840N |Marca: TP-Link |Preço: 77.90 |Quantidade: 32
Produto: Repetidor Expansor Wi-Fi Network 300Mbps TL-WA850RE |Marca: TP-Link |Preço: 110.90 |Quantidade: 8
Produto: Roteador Wireless 300Mbps 2.4GHz 4P - F9K1002 N300 |Marca: Belkin |Preço: 51.90 |Quantidade: 16
Produto: Pen Drive DataTraveler USB 2.0 32GB DTSE9H/32GB |Marca: Kingston |Preço: 39.90 |Quantidade: 26
Produto: Pen Drive Ultra Dual Drive SanDisk 3.0 32GB SDDD2-032G-G46 |Marca: SanDisk |Preço: 56.90 |Quantidade: 4
Produto: Memoria HyperX FURY 8GB 1866Mhz DDR3 CL10 Black Series - HX318C10FB/8 |Marca: Kingston |Preço: 215.90 |Quantidade: 2

porém ai tem a questão que eu não quero que saia a primeira linha que se trata "
Produto: produto |Marca: marca |Preço: preco |Quantidade: estoque " , como faço para que o java pule essa linha ai ?

2 Respostas

T
boolean primeiraLinha = true;

while((linha = conteudoCSV.readLine()) != null) {
  if (primeiraLinha) {
    primeiraLinha = false;
    continue;
  }
		
  String [] campo = linha.split(separadorDeCampo);
			
  String formato = String.format("Produto: %-70s |Marca: %-20s |Preço: %-20s |Quantidade: %s", campo[0], campo[1], campo[2], campo[3]);
			
  System.out.println(formato);
}

Abraço.

A

muito obrigado jovem , funcionou direitinho… muito obrigado mesmo

Criado 28 de setembro de 2017
Ultima resposta 28 de set. de 2017
Respostas 2
Participantes 2