Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Мобильные платформы > J2ME
Перезагрузить страницу Проблема чтения данных из файла с DataInputStream
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
X-Cite_Forever X-Cite_Forever вне форума
Member
 
Сообщений: 536
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 24.10.2006
По умолчанию Проблема чтения данных из файла с DataInputStream - 01.09.2011, 18:38

Есть некий файл (карта из HOMM3), прикреплен ниже.
Структура файла следующая:
4 байта - тип карты
1 байт - хз
4 байта - высота и ширина карты
1 байт - одноуровневая или двухуровневая
4 байта - длинна имени карты
* байт - название карты
и т.д.

Если читать файл в Delphi
delphi Код:
f := TFileStream.Create(OpenDialog1.FileName, fmOpenRead);
f.Read(rec.Header.ID, SizeOf(rec.Header.ID));
f.Read(rec.Header.IsHero, SizeOf(rec.Header.IsHero));
f.Read(rec.Header.Size, SizeOf(rec.Header.Size));
f.Read(rec.Header.Tip, SizeOf(rec.Header.Tip));
f.Read(rec.Header.NameSize, SizeOf(rec.Header.NameSize));
ZeroMemory(@s, 4096);
f.Read(s, rec.Header.NameSize);
rec.Header.Name := s;
То он вычитывает все корректно:
Тип игры: 1C
Герой: 1
Размер: 108
Тип игры: 1
Размер имени: 7
Имя: Алгебра
Когда вычитываю тоже самое через DataInputStream
Java Код:
fm = (FileConnection) Connector.open(AFileName);
dis = new DataInputStream(fm.openDataInputStream());
len_name = dis.readInt(); //Вычитывает 1С
len_name = dis.readByte(); //Вычитывает 1
len_name = dis.readInt(); //Вычитывает какую-то хрень
dis.close();
fm.close();
Получается когда вычитывает высоту и ширину карты там совсем не 108, а непонятный мусор. Однако если заменить dis.readInt(); на dis.readByte(); то вычитает 108, хотя там должно быть 4 байта, а не 1.
В чем проблема?
Вложения
Тип файла: zip Алгебра (Algebra).zip (56.0 Кб, 6 просмотров)
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DataInputStream - проблема вычитки файла X-Cite_Forever J2ME 2 02.09.2011 15:47
чтения дерева из файла b1nary Prolog 1 30.09.2010 00:29
При Бинарной записи и чтения с файла происходит ошибка Geniy C++ Builder 4 20.05.2010 20:40
Закрытие файла после чтения NecroGlaz C++ Builder 3 04.12.2007 01:39
Проблема подключения файла базы данных в прлиложение neznayushiy .NET 1 17.05.2007 10:07
открытие файла для чтения Алек_Л Visual Basic 1 05.10.2006 17:45
Написание программы для чтения данных матрицы Sasha_ukr Вопросы начинающих программистов 5 12.06.2006 00:11
Оптимизация чтения структуры файла Smolnyj Assembler 9 21.01.2006 03:19
Расчет общего времени чтения файла dostar Вопросы начинающих программистов 0 16.09.2005 13:49
Перенос данных из текстового файла в базу данных Rrr C++ Builder 11 22.04.2005 10:13
Проверка данных файла Shurik_A DHTML, JavaScript, VBScript 4 15.01.2005 22:24
Фриварный компонент для чтения данных из Excel файла CrazyPitbull C++ Builder 2 26.04.2004 14:00



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов