2016-05-17 13 views
0

私は以下のコードを実行すると、objIn.readObject();例外がスローされます:ObjectInputStream.readobject()は例外オブジェクトをスローします

にClassNotFoundException project.Edge

project.Edgeは、私は、ファイルから読み取るしようとしたオブジェクトです。

Object o = null; 
ObjectInputStream objIn = null; 
try { 
    objIn = new ObjectInputStream(new FileInputStream("objects.dat")); 
    o = objIn.readObject(); 
} catch (Exception ex) { 
    ex.printStackTrace(); 
} 
while (o != null) { 
    //do stuff 
} 
+2

例外は奇妙なことではなく、 'System.out.println(ex.getMessage());'ではなく 'ex.printStackTrace()'を呼び出して、それが何であるかを確認する必要があります。 – biziclop

+0

'readObject()'はクラスのデータだけを読み込み、クラス自体は読み込みません。したがって、 'objects.dat'で使用または参照されるすべてのクラスがプロジェクトで使用可能でなければなりません。 – Robert

答えて

0

この問題が発生した場合は、バイナリファイルを書き込むときと同じパッケージにproject.Edgeが含まれているかどうかを確認してください。

2

たぶん、あなたproject.Edgeクラスが正しくコンパイルされません。クラスパスも確認してください。このクラスはプロジェクトで使用できる必要があります。

関連する問題