Java - Ayuda con manejo de archivos

   
Vista:

Ayuda con manejo de archivos

Publicado por raul (1 intervención) el 10/06/2013 00:32:45
Hola, soy nuevo en esto del manejo de archivos y haciendo un ejercicio de un tutorial me sale NoSuchElementException. Como puedo solucionarlo por favor? Aca les dejo el codigo que da error:
import java.util.Scanner;
public class CrearArchivos {
private static void crearArchivoMaestro(){
GenericoCreacionArchivos creacionMaestro=new GenericoCreacionArchivos("maest.txt");
System.out.printf("%s\n %s\n ?","Ingrese numero de cuenta, nombre, apellido y monto","Para finalizar oprima CTRL+Z si es usuario de windows o CTRL+D si es usuario de linux.");
creacionMaestro.crearArchivo(new RegistroCuenta());
}

private static void crearArchivoTransacciones(){
GenericoCreacionArchivos creacionTrans = new GenericoCreacionArchivos("trans.txt");
System.out.printf("%s\n %s\n ?","Ingrese numero de cuenta y monto de transaccion.","Para finalizar oprima CTRL+Z si es usuario de windows o CTRL+D si es usuario de linux.");
creacionTrans.crearArchivo(new RegistroTransaccion());
creacionTrans.cerrarArchivo();
}

public static void main(String args[]){
int op = 0;

do{
Scanner teclado = new Scanner(System.in);

System.out.printf("%5s\n","Sistema de archivos para banco.");
System.out.printf("%s\n", "1_Ingreso de clientes.");
System.out.printf("%s\n", "2_Ingreso de transacciones.");
System.out.printf("%s\n", "3_Fin de programa.");
System.out.print("?");

op = teclado.nextInt();

switch(op){
case 1: crearArchivoMaestro();
break;

case 2: crearArchivoTransacciones();
break;

case 3: System.out.print("Fin de programa.");
break;

default:System.out.println("Opcion equivocada, reingrese");
break;
}

}while(op!= 3);
}
}
y aca la clase GenericoCreacionArchivos:
import java.util.FormatterClosedException;
import java.util.InputMismatchException;
import java.util.Scanner;
import java.io.FileNotFoundException;
import java.lang.SecurityException;
import java.util.Formatter;
final class GenericoCreacionArchivos{
Formatter salida;
public GenericoCreacionArchivos(String File){
try{
salida = new Formatter(File);
}catch(SecurityException ex){
System.out.print("No se permite escritura.");
System.exit(1);
}catch(FileNotFoundException ex){
System.out.print("El archivo no se encuentra o no se puede crear");
}
}

public<T extends EstablecerMaximo> void crearArchivo(T registroDeEntrada){
Scanner entrada= new Scanner(System.in);
T registro = registroDeEntrada;
System.out.println("?");
registro.establecerValores();
while(registro.obtenerNumeroCuenta()>0){
try{
salida.format("%s \n",registro);
System.out.println("?");
registro.establecerValores();
}catch(InputMismatchException ex){
System.out.print("Valor ingresado erroneo.");
entrada.nextLine();
}catch(FormatterClosedException ex){
System.out.print("Archivo cerrado.");
System.exit(1);
}
}
}

public void cerrarArchivo(){
if(salida != null)
salida.close();
}

}
Y aca el mensaje de error:
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at CrearArchivos.main(CrearArchivos.java:29)
Desde ya muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder