Показать сообщение отдельно
Сабля в спину
новый пользователь
Аватар для Сабля в спину
Сообщения: 393
Регистрация: 26.10.2008
Старый пост, нажмите что бы добавить к себе блог 13 декабря 2013, 20:10
  #3000 (ПС)
-Цитата от Ридл Гатофель Посмотреть сообщение
-Цитата от Сабля в спину Посмотреть сообщение
Может кто знает Java здесь ?
У меня не работает десериализация вот в таком коде:

........
FileInputStream fis = new FileInputStream(path);
ObjectInputStream oin = new ObjectInputStream(fis);
while(oin.available() > 0){
busList.add((Bus)(oin.readObject()));
oin.close();
}
.....
//Тут происходят действия программы
.....
FileOutputStream fos = new FileOutputStream(path);
ObjectOutputStream oos = new ObjectOutputStream(fos);
for(int i=0; i<busList.size(); i++)
oos.writeObject(busList.get(i));
oos.flush();
oos.close();
Чё именно не работает? Чё за ошибка вылетает? В рантайме или во время компиляции? Может в классе Bus какие-то поля не имплементируют Serializable?

А ваще спроси у Кабала, тот ещё знаток наверно
Не хочет ничего десереализовывать с файла
Ошибок нету, oin.available() возвращает 0, но как я понял этот метод не показывает оставшиеся количество байт в потоке, а показывает количество байт которых можно считать без задержек для жёсткого диска/сети/места откуда берутся байты в поток
Внутри Bus всё реализует Serializable

offline
Ответить с цитированием