Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/09/2008, 04:08
riveroad
 
Fecha de Ingreso: julio-2008
Mensajes: 5
Antigüedad: 16 años, 5 meses
Puntos: 0
Pregunta Problema al grabar en un archivo

Hola, buenos días:

Resulta que necesito grabar en un archivo *.txt una variable de una clase creada por mi. Y al intentar grabarlo me salta siempre la misma excepción, a ver si podría ser alguien tan amable de poder ayudarme, porque estoy completamente atascado. He de aclarar primeramente que esta es una parte del código extraida de una mayor, aunque igualmente no funciona ninguna de las dos por el mismo motivo. Lo he comprobado.

La clase que quiero grabar es la siguiente (ClaseComponente.java):
Código PHP:
package grabar;

import java.io.*;
import java.awt.*;
import javax.swing.*;

public class 
ClaseComponente implements Serializable {

    private 
Image pimagen;
    
    public 
ClaseComponente(File imagen) {
        
pimagen = (new ImageIcon(imagen.getPath())).getImage();
    }
    
    public 
Image getImagen() { return pimagen; }

La clase que se encarga de grabar el archivo es la siguiente (ClaseTratamientoArchivos.java):
Código PHP:
package grabar;

import java.io.*;

public class 
ClaseTratamientoArchivos {
    
    public 
void EscribirArchivo (File archivothrows Exception {
        
ObjectOutput output = new ObjectOutputStream(new FileOutputStream(archivo));
        
ClaseComponente prueba = new ClaseComponente(archivo);
        
output.writeObject(prueba);
        
output.flush();
        
output.close();
    }

Y la clase que se encarga de llamar a la funcion grabar (Main.java):
Código PHP:
package grabar;

import java.io.*;

public class 
Main {
    
    static 
ClaseTratamientoArchivos tratamientoarchivos = new ClaseTratamientoArchivos();
    
    public static 
void main(String[] args) {
        try {
            
tratamientoarchivos.EscribirArchivo(new File("C:/Prueba.txt"));
        } catch (
Exception e) {
            
System.out.println("ERROR");
        }
    }

Pues bien, el error se produce en la linea de código de archivo ClaseTratamientoArchivos cuya instrucción es:
output.writeObject(prueba);

Muchas gracias por vuestra ayuda, espero vuestras respuestas. GRACIAS
Saludos de,

RIVEROAD