Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Geração de Arquivo - Exercício 7 - Aula 4

Estou rodando o código abaixo:

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.util.Scanner;

public class EntradaDeUmArquivo {

    public static void main(String[] args) throws IOException {
        Scanner entrada = new Scanner(new FileInputStream("src/arquivo.txt"));

        // Abrindo arquivo de retorno
        PrintStream out = new PrintStream(new FileOutputStream("src/saida.txt"));

        while (entrada.hasNextLine()) {
            System.out.println(entrada.nextLine());
            out.println("Retorno..: " + entrada.nextLine());            
        }    
        out.close();
        entrada.close();

    }


}

Porém está dando o erro abaixo:

Exception in thread "main" java.util.NoSuchElementException: No line found at java.util.Scanner.nextLine(Scanner.java:1585) at EntradaDeUmArquivo.main(EntradaDeUmArquivo.java:17)

No arquivo gerado está inserindo apenas 1 linha. Alguém sabe aonde está o erro?

Obrigado.

3 respostas
solução!
       while (entrada.hasNextLine()) {
            System.out.println(entrada.nextLine());
            out.println("Retorno..: " + entrada.nextLine());            
        }

Você chama o nextLine 2x. Chame apenas uma vez, guarde numa variável e use as 2x que quiser.

provavelmente esse erro ocorre porque você não mandou ele escrever nada no arquivo, ai quando ele tenta escrever como não tem nada o metodo 'hasNextLine()' como nao tem nada pra escrever ta dando esse erro. tenta escrever alguma informação antes pra ele poder escrever no arquivo.

Alberto Souza, muito obrigado. Perfeito, era isso mesmo.