2
respostas

Ao inserir UTF-8 no construtor a saída no console é vazia

No programa TesteLeitura2, ao colocar UTF-8 no construtor do scanner, a saída no console é em branco, mesmo alterando o enconding do arquivo CONTAS.CSV para UTF-8, se deixar em branco no contrutor, o programa funciona normalmente, inclusive convertendo corretamente a letra é do arquivo. Porque isso acontece?

2 respostas

Fala Eduardo, tudo certo?

Posta seu código pra eu dar uma olhada, por favor. Se preferir, pode subir no github.

Este código está funcionando, mas se por "UTF-8" no construtor Scanner, a saída do console é vazia.

package br.com.alura.java.io.teste;

import java.io.File;
import java.util.Locale;
import java.util.Scanner;

public class TesteLeitura2 {

    public static void main(String[] args) throws Exception {

        Scanner scanner = new Scanner(new File("contas.csv"));

        while(scanner.hasNextLine()) {
            String linha = scanner.nextLine();
            //System.out.println(linha);

            Scanner linhaScanner = new Scanner(linha);
            linhaScanner.useLocale(Locale.US);
            linhaScanner.useDelimiter(",");

            String tipoConta = linhaScanner.next();
            int agencia = linhaScanner.nextInt();
            int numero = linhaScanner.nextInt();
            String titular = linhaScanner.next();
            double saldo = linhaScanner.nextDouble();

    //        String valorFormatado = String.format("%s - %04d-%04d %s: %010.2f" , tipoConta,agencia,numero,titular,saldo);

            System.out.format(new Locale("pt", "BR"),"%s - %04d-%04d %s: %010.2f %n" ,
                                            tipoConta,agencia,numero,titular,saldo);

            linhaScanner.close();

    //        String [] valores = linha.split(",");
    //        System.out.println(valores[3]);

        }
        scanner.close();

    }

}