Copiei do livro do Deitel os exemplos de arquivo, das figuras 14.6, 14.7 e 14.11, onde cria-se um arquivo e uma classe para ler os dados do arquivo e outra para entrar com dados.
Daí eu criei uma classe onde o usuário pode escolher qual opção ele quer: ver os dados armazenados, dar entrada neles, ou sair. Acontece que ao executar esta classe e ao dar entrada nos dados, mas, quando eu digito Ctrl + Z, aparece a exceção: NoSuchElementException
Aí abaixo vai o código:
import java.util.InputMismatchException;
import java.util.Scanner;
public class ArquivoTeste
{
private static int escolha;
public static void main(String[] args)
{
Scanner entrada = new Scanner(System.in);
boolean continuar = true;
System.out.printf("%s\n%s\n%s\n%s\n","O que deseja fazer?",
"Digite 1 para armazenar dados",
"2 para ler os dados armazenados",
"E 0 para sair");
do{
try{
escolha = entrada.nextInt();
switch(escolha)
{
case 1:
CreateTextFile application = new CreateTextFile();
application.openFile();
application.addRecords();
application.closeFile();
break;
case 2:
ReadTextFile application1 = new ReadTextFile();
application1.openFile();
application1.readRecords();
application1.closeFile();
break;
case 0:
continuar = false;
break;
default:
//lança a exceção para aparecer a mensagem de erro
throw new InputMismatchException();
}//fim do switch
}//fim do try
catch(InputMismatchException e)
{
System.err.printf("Inválido.Digite 0,1 ou 2!\n");
entrada.nextLine();
}
}while(continuar);
}
}
Obrigado