В настоящее время я экспериментирую с шифрованием и расшифровкой объектов, но каждый раз, когда объявляется мой метод чтения, я сталкиваюсь с EOFException. Я чувствую, что в моем коде есть много избыточности, пытаясь справиться со всеми исключениями, поэтому было бы здорово, если бы вы могли определить, какие фразы catch/throw удалить и как я могу решить эту проблему. Благодарю.EOFException Runtime Ошибка при работе с SealedObject
java.io.EOFException указывает на строку в моем коде с (** **). Все остальные строки - это сгенерированный NetBeans код.
public static void readFromBinary() throws IllegalBlockSizeException, EOFException
{
try {
BufferedReader br3 = new BufferedReader(new FileReader(noteFileName));
if (br3.readLine() != null) {
FileInputStream fINoteStream = new FileInputStream(noteFileName);
ObjectInputStream oINoteStream = new ObjectInputStream(fINoteStream);
while(true){
try{
**SealedObject sObj = (SealedObject)oINoteStream.readObject();**
Note note = (Note) sObj.getObject(new NullCipher());
noteList.add(note);
}
catch(EOFException e){
e.printStackTrace();
break;
}
catch (IllegalBlockSizeException e){
e.printStackTrace();
break;
}
catch (BadPaddingException e){
e.printStackTrace();
break;
}
catch (ClassNotFoundException e){
e.printStackTrace();
break;
}
}
oINoteStream.close();
}
}
catch (FileNotFoundException e){
e.printStackTrace();
}
catch (IOException e){
e.printStackTrace();
}
}
}
Вызов метода в другой класс:
try{
DataStorage.readFromBinary();
}
catch (IllegalBlockSizeException e)
{
e.printStackTrace();
}
catch (EOFException e)
{
e.printStackTrace();
}
Возможный дубликат [EOFException - как обращаться?] (Http://stackoverflow.com/questions/18451232/eofexception-how-to-handle) – Raedwald