at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown Source)
Publicado por Christian (6 intervenciones) el 29/05/2017 17:30:12
Buenas tardes a todos,
me han pedido en un práctico de java, que haga una especie de "tienda" y que guarde los objetos "Venta" en un archivo y luego los pueda leer.
Al escribirlos, y luego abrir el archivo(desde el explorador), veo que parece todo en orden, se ven los códigos que se esperan ver de un objeto serializado.
Los objetos "venta", tienen a su vez objetos Int (codigo de la venta), CD (cd vendido), CLIENTE (a quien se ha vendido).
El error está en esta línea:
venta =(Venta)objetos.readObject();
se supone que si objetos.readObject me devuelve un objeto venta, debería poder hacer
venta.getCd().getCodigo() y me tendría que devolver el Codigo del Cd guardado en esa venta veradad? pero no llega a esa línea por que me da error en la que puse arriba..
y este es el mensaje de error completo:
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at Principal.main(Principal.java:185)
pero al intentar leerlo, me da el error del título este es mi código:
try {
ObjectInputStream objetos= new ObjectInputStream(new FileInputStream(fichero));
try {
Venta venta= new Venta(0, null, null, null, null);
venta =(Venta)objetos.readObject();
System.out.println("Código del cd desde archivo"+venta.getCd().getCodigo());
objetos.close();}
catch (ClassNotFoundException e) {
e.printStackTrace();}}
catch (FileNotFoundException e) {
e.printStackTrace();}
catch (IOException e) {
e.printStackTrace();}
Nuevamente decir, estoy aprendiendo Java, y cual quier sugerencia y explicación, será bienvenida..
me han pedido en un práctico de java, que haga una especie de "tienda" y que guarde los objetos "Venta" en un archivo y luego los pueda leer.
Al escribirlos, y luego abrir el archivo(desde el explorador), veo que parece todo en orden, se ven los códigos que se esperan ver de un objeto serializado.
Los objetos "venta", tienen a su vez objetos Int (codigo de la venta), CD (cd vendido), CLIENTE (a quien se ha vendido).
El error está en esta línea:
venta =(Venta)objetos.readObject();
se supone que si objetos.readObject me devuelve un objeto venta, debería poder hacer
venta.getCd().getCodigo() y me tendría que devolver el Codigo del Cd guardado en esa venta veradad? pero no llega a esa línea por que me da error en la que puse arriba..
y este es el mensaje de error completo:
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at Principal.main(Principal.java:185)
pero al intentar leerlo, me da el error del título este es mi código:
try {
ObjectInputStream objetos= new ObjectInputStream(new FileInputStream(fichero));
try {
Venta venta= new Venta(0, null, null, null, null);
venta =(Venta)objetos.readObject();
System.out.println("Código del cd desde archivo"+venta.getCd().getCodigo());
objetos.close();}
catch (ClassNotFoundException e) {
e.printStackTrace();}}
catch (FileNotFoundException e) {
e.printStackTrace();}
catch (IOException e) {
e.printStackTrace();}
Nuevamente decir, estoy aprendiendo Java, y cual quier sugerencia y explicación, será bienvenida..
Valora esta pregunta
0