2010-12-03 5 views
0

следующий код генерирует исключение:проблема NotSerializableException

public class TestObject implements Serializable{ 

    private static final long serialVersionUID = 1L; 

    public String value; 

} 


DbByteArrayOutputStream out = new DbByteArrayOutputStream(); 
ObjectOutputStream objOut = new ObjectOutputStream(out); 
objOut.writeObject(objOut); 
objOut.flush(); 
out.writeTo(file); 
objOut.close(); 
out.close(); 

public class DbByteArrayOutputStream extends ByteArrayOutputStream { 
    public DbByteArrayOutputStream() { 
    super(); 
} 

public synchronized void writeTo (RandomAccessFile file) throws IOException { 
    byte[] data = super.buf; 
    int l = super.size(); 
    file.writeInt(l); 
    file.write(data, 0, l); 
    } 
} 

Почему? Благодарю.

ответ

6

Это проблема:

ObjectOutputStream objOut = new ObjectOutputStream(out); 
objOut.writeObject(objOut); 

Вы пытаетесь сериализации поток к себе. Это не имеет никакого смысла. Я подозреваю, вы имели в виду:

objOut.writeObject(new TestObject()); 

или что-то подобное.

+0

Глупые ошибки. Прости. – ilpizze 2010-12-03 14:33:20

Смежные вопросы