2011-01-17 18 views
-1

I次のエラーがあります。IOException - 理由がわからない

java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: flexitime.UniSystems 

このための通常の理由は何ですか? 私は、storage.datという名前のファイルを読み込もうとしています。

それがエラーを取得するコードは

private void loadFile() { 
    try { 
     FileInputStream inStream = new FileInputStream(fileName); 
     ObjectInputStream inputObjects = new ObjectInputStream(inStream); 
     system = (UniSystems)inputObjects.readObject(); 
     inStream.close(); 
    } 
    catch (ClassNotFoundException err) { 
     // Class in the file does not have a matching class definition 
     JOptionPane.showMessageDialog(null, "Please contact IT Support quoting code CNF", 
       "Application error!", JOptionPane.ERROR_MESSAGE); 
     err.printStackTrace(); 
    } 
    catch (IOException err) { 
     // Some other IO error has occurred 
     JOptionPane.showMessageDialog(null, "Please contact IT Support quoting code IIO", 
       "Application error!", JOptionPane.ERROR_MESSAGE); 
     err.printStackTrace(); 
    } 

} 

それは第二キャッチまでそれを通じますし、エラーをバックスローです。 アイデア

+2

例外として、「UniSystems」はSerializableを実装していないようです。あなたはそれがあなたが読んでいるオブジェクトだと確信していますか? –

+0

シリアル化が必要なのはどこですか?そしてそのファイルはUniSystemsを読み込み、それを使ってデータを読み込みます。 – sark9012

答えて

1

java.io.NotSerializableException: flexitime.UniSystems

UniSystemsはシリアライザブルではないようです。

ObjectInputStreamが機能するためには、それが必要です。

ファイルを書いてからクラスが変更されましたか?

+0

私はUniSystemsをシリアライズ可能にしました! – sark9012

0

私はそこに直接エラーがあるとは思わない。その書き込みエラー、そのコードを読み取るようです。

あなたのクラスには、おそらくシリアル化されるUUIDがありません。

参照がある場合は、transientとマークする必要があります。ただし、参照は例外であるため、例外が発生することはありません。ロト)は、リモートホストでは無効です。

関連する問題