Я пишу программу, которая требует от меня написать и прочитать объект, который я создал. Когда я пытаюсь прочитать в объекте и Deserialize это, я получаю Ilegal начало выражения ошибка. Мне было интересно, может ли кто-нибудь сказать мне, что это такое, как я могу это решить.Чтение сериализованного объекта из файла
RandomAccessFile temp = new RandomAccessFile(fileSystemName,"r");
this.numberOfDirectories= temp.readInt();
this.fileSystemSize = temp.readInt();
this.numberOfBlocks = temp.readInt();
//Prepares and loads the bitMap
numberOfBytes = (numberOfBlocks/8)+1;
//directory = new Directory(numberOfDirectories);
bitMap = new byte[numberOfBytes];
for(int i=0;i<numberOfBytes;i++)bitMap[i]=temp.readByte();
temp.close();
FileInputStream fin = new FileInputStream(fileSystemName);
ObjectInputStream ois = new ObjectInputStream(fin);
//File file = new File(fileSystemName);
System.out.println(bitMap.length);
offset = 12 + numberOfBytes;
//ois.skipBytes(offset);
//Read Directories
directory = <Directory> ois.readObject();
Смещение связано с тем, что я сначала использую объект RandomAccessFile для чтения в некоторых целых числах и символах. Я ценю помощь. Спасибо
попробуйте запустить приложение wihtout ois.skipBytes (смещение) – UVM
компилировать ли ваш код? Звучит как синтаксическая ошибка. Может быть, вы где-то пропустили скобки? – Kai
Не могли бы вы разместить часть трассировки стека и свой код, который также записывает в файл? Трюк с этим часто соответствием выхода с входом –