
Error ejercicio estanteriamultimedia
Publicado por Checo (2 intervenciones) el 03/05/2013 23:49:05
Hola familia de la webdelprogramador > Java:
Soy novato en Java, tengo el siguiente ejercicio y no se como corregir los errores y que me funcione bien. Me podrán hacer el favor de ayudarme.
Gracias de antemano
package estanteriamultimedia;
/* Importamos las clases */
//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;
/* Entrada/Salida. Clases que definen distintos flujos de datos */
import java.util.*;
/** Por Sergio Abarca Hernández **/
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;
}
/* Métodos */
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) throws IOException{
String fichero;
EscrituraLecturaDeObjetosMultimedia pelicula= new EscrituraLecturaDeObjetosMultimedia("estanteria.dat");
EstanteriaMultimedia objeto=new EstanteriaMultimedia(3);
objeto.add( new Pelicula( "Titanic","Director: James Cameron","Música James Horner","Protagonistas Leonardo DiCaprio y Kate Winslet\n" ) );
objeto.add( new Pelicula( "The Day After Tomorrow","Director: Roland Emmerich","Música Harald Kloser","Protagonistas Dennis Quaid y Jake Gyllen \n" ) );
objeto.add( new Pelicula( "transformer","Director: Michael Bay","Música Steve Jablonsky","Protagonistas Shia LaBeouf y John Turturro \n" ) );
Pelicula.escrituraObjetos(null);
try{
pelicula.escrituraObjetos(null);
}catch(IOException e){
System.out.println("Error al escribir en el archivo" +e.getMessage());
}
try{
ArrayList array = pelicula.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());
}
}
}
Soy novato en Java, tengo el siguiente ejercicio y no se como corregir los errores y que me funcione bien. Me podrán hacer el favor de ayudarme.
Gracias de antemano
package estanteriamultimedia;
/* Importamos las clases */
//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;
/* Entrada/Salida. Clases que definen distintos flujos de datos */
import java.util.*;
/** Por Sergio Abarca Hernández **/
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;
}
/* Métodos */
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) throws IOException{
String fichero;
EscrituraLecturaDeObjetosMultimedia pelicula= new EscrituraLecturaDeObjetosMultimedia("estanteria.dat");
EstanteriaMultimedia objeto=new EstanteriaMultimedia(3);
objeto.add( new Pelicula( "Titanic","Director: James Cameron","Música James Horner","Protagonistas Leonardo DiCaprio y Kate Winslet\n" ) );
objeto.add( new Pelicula( "The Day After Tomorrow","Director: Roland Emmerich","Música Harald Kloser","Protagonistas Dennis Quaid y Jake Gyllen \n" ) );
objeto.add( new Pelicula( "transformer","Director: Michael Bay","Música Steve Jablonsky","Protagonistas Shia LaBeouf y John Turturro \n" ) );
Pelicula.escrituraObjetos(null);
try{
pelicula.escrituraObjetos(null);
}catch(IOException e){
System.out.println("Error al escribir en el archivo" +e.getMessage());
}
try{
ArrayList array = pelicula.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());
}
}
}
Valora esta pregunta


0