Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
31.08.2004, 14:16
|
|||
---|---|---|---|
Обработка бинарных файлов. |
|||
#18+
Всем привет! Нужно загрузить в базу информацию из бинарных файлов. Файлы имеет фиксированную структуру. Размер каждой записи = 190 байт. В нутри каждой записи вся инфа разбита по полям . А как значение буфера раскидать по переменным или в класс? (Например: первые 4 байта в переменную int, c 5 по 16 байты в переменную String,.....) В С++ это все просто реализуется с помощью структур и UNION. Я здесь попытался че-то изобразить. Но пока получается только считывать в цикле в буфер. А как дальше быть не знаю. :( Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Заранее спасибо. И все-такое. :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
31.08.2004, 14:47
|
|||
---|---|---|---|
Обработка бинарных файлов. |
|||
#18+
а зачем массив 191 байт? а не 190? сложного совсем нет ничего. прочитал в массив 190 байт. если первые 4 типа int - ручками их преобразуешь в явовский инт (в смысле в твоем файле может идти сначала старший байт, либо сначала младший). например, формат BMP (картинки) имеет в своих записях четырех- байтовый int :) чтобы получить для джавы (как вариант): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
-- {forum.auto.signature} ... |
|||
:
Нравится:
Не нравится:
|
|||
|
31.08.2004, 16:57
|
|||
---|---|---|---|
Обработка бинарных файлов. |
|||
#18+
2А.Гpacoff Большое спасибо! 2All В продолжении своего вопроса: - известно что массиве tempBuf в который я считываю данные из файла, с 20 по 35 байты находится запись в BCD-формате. Как бы мне её значение в строковую переменную засунуть? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
31.08.2004, 19:29
|
|||
---|---|---|---|
|
|||
Обработка бинарных файлов. |
|||
#18+
руками :) Специальных методов для этого нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
31.08.2004, 19:40
|
|||
---|---|---|---|
Обработка бинарных файлов. |
|||
#18+
Это-то понятно что нет. Вы мне лучше скажите можно ли что-нить аналогчное на Джаве сделать и как (а то я из-за недостатка опыта не врубаюсь чего-то) Код: plaintext 1. 2. 3.
т.е. если байт имеет значение 0х78 то и записать в строку "78", а не какую-то абракадабру. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
01.09.2004, 09:48
|
|||
---|---|---|---|
|
|||
Обработка бинарных файлов. |
|||
#18+
byte b = 0x78; System.out.println(Integer.toHexString(b)); ? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
01.09.2004, 09:53
|
|||
---|---|---|---|
|
|||
Обработка бинарных файлов. |
|||
#18+
Точнее Код: 1. 2. 3. 4. 5.
если уж в строку писать надо :) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
01.09.2004, 18:41
|
|||
---|---|---|---|
|
|||
Обработка бинарных файлов. |
|||
#18+
patch: tempBuf -> getInt(tempBuf ) :) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.09.2004, 09:34
|
|||
---|---|---|---|
Обработка бинарных файлов. |
|||
#18+
Да у меня и в первом варианте неплохо работает. :)) Код: plaintext 1. 2. 3. 4. 5.
Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.09.2004, 18:50
|
|||
---|---|---|---|
|
|||
Обработка бинарных файлов. |
|||
#18+
красиво ... |
|||
:
Нравится:
Не нравится:
|
|||
|
13.09.2004, 13:38
|
|||
---|---|---|---|
|
|||
Обработка бинарных файлов. |
|||
#18+
Еще такой вариант Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=59&tablet=1&tid=2153742]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 311ms |
total: | 464ms |
0 / 0 |