2010-12-03 58 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

相關問題