Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Duvida na reposta da do exercício 7 da aula 5

Eu não entendi muito bem a reposta da do exercício 7 da aula 5.

Porque eu não posso utilizar:

Scanner scanner = new Scanner(new File("dados.txt", "UTF-8"));

E tem que ser o:

Scanner scanner = new Scanner(new File("dados.txt"), StandardCharsets.UTF_8);

Sendo que que durante a aula o código usado foi:

Scanner s = new Scanner(new File("contas.csv"), "UTF-8");

e compilou normalmente.

Ou nesse caso da pergunta teria que usar porque trocou de sistema operacional?

1 resposta
solução!

Boa tarde, Lucas! Como vai?

A resposta Scanner scanner = new Scanner(new File("dados.txt", "UTF-8")); está incorreta pq embora a classe File tenha um construtor que receba dois parâmetros do tipo String, o segundo argumento não representa o charset! Tanto é verdade que vc pode conferir isso na documentação da classe File.

Além disso, tanto a forma de criar um objeto do tipo Scanner vista no exercício

Scanner scanner = new Scanner(new File("dados.txt"), StandardCharsets.UTF_8);

quanto a forma vista em aula

Scanner s = new Scanner(new File("contas.csv"), "UTF-8");

são válidas pq a classe Scanner tem construtores que possibilitam fazer esse tipo de coisa!

Vc pode verificar isso nesse link que mostra o construtor utilizado no exercício e nesse outro link o construtor utiilizado no exercício. Ambos os links são da documentação da classe Scanner.

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software