Hola,
Os quería hacer una consulta, tengo este metodo:
public ArrayList lecturaObjetos(int numObjetos) throws Exception,FileNotFoundException,IOException
{
ArrayList array = new ArrayList(numObjetos);
array.add(Arrays.asList("estanteria.dat"));
ListIterator listalterador;
listalterador = array.listIterator();
While(listalterador.hasNext()){
String objeto = (String)listalterador.next();
try {
Integer numero = new Integer (objeto);
}catch (NumberFormatException e){
listalterador.remove();
}
}
return array;
}
La cuestión es que me está dando al compilar error en el WHILE.
Me da este mensaje: Error en la lectura del ficheroUncompilable source code - Erroneous sym type: While
Alguien me puede guiar??
MUCHAS GRACIAS.
La clase completa es esta:
package ejerciciofinal.gestor;
import ejerciciofinal.clasesbase.EstanteriaMultimedia;
import ejerciciofinal.clasesbase.Pelicula;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.*;
public class EscrituraLecturaDeObjetosMultimedia {
// VARIABLES
private FileOutputStream fileOutPutStream;
private FileInputStream fileInPutStream;
private ObjectOutputStream escritura;
private ObjectInputStream lectura;
private String archivo;
// CONSTRUCTORES
public EscrituraLecturaDeObjetosMultimedia(String archivo) {
this.archivo = archivo;
}
// METODOS
public void escrituraObjetos(EstanteriaMultimedia estanteriaMultimedia) throws IOException {
fileOutPutStream = new FileOutputStream(archivo);
escritura = new ObjectOutputStream(fileOutPutStream);
for (int i = 0; i < estanteriaMultimedia.size(); i++) {
escritura.writeObject(estanteriaMultimedia.get(i)) ;
}
escritura.close();
}
public ArrayList lecturaObjetos(int numObjetos) throws Exception,FileNotFoundException,IOException
{
ArrayList array = new ArrayList(numObjetos);
array.add(Arrays.asList("estanteria.dat"));
ListIterator listalterador;
listalterador = array.listIterator();
While(listalterador.hasNext()){
String objeto = (String)listalterador.next();
try {
Integer numero = new Integer (objeto);
}catch (NumberFormatException e){
listalterador.remove();
}
}
return array;
}
public static void main(String[] args) {
String fichero;
EscrituraLecturaDeObjetosMultimedia ejercicio= new EscrituraLecturaDeObjetosMultimedia("estanteria.da t");
EstanteriaMultimedia objeto=new EstanteriaMultimedia(3);
objeto.add( new Pelicula( "algo","algos","assa","algos s" ) );
objeto.add( new Pelicula( "algo2","algos","assa","algos s" ) );
objeto.add( new Pelicula( "algo3","algos","assa","algos s" ) );
try{
ejercicio.escrituraObjetos(objeto);
}
catch(IOException e){
System.out.println("Error al escribir en el archivo"+e.getMessage());
}
try{
ArrayList array = ejercicio.lecturaObjetos(1);
System.out.println(array.toString());
}catch(FileNotFoundException f){
System.out.println("Fichero no encontrado"+f.getMessage());
}catch(Exception e){
System.out.println("Error en la lectura del fichero"+e.getMessage());
}
}
}