![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| markivanov |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 17.7.2006 Репутация: нет Всего: нет |
Возможно ли создавать поток с произвольным доступом как в RandomAccessFile и с возможностью сохранения объектов как в ObjectOutputStream?
|
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Реализовать такое конечно возможно, но могут быть трудности.
Если держать все объекты в памяти то проблем нет. А вот если нет, то придется заниматься распределением пространства в файле. Т.е. реализовывать механизмы наподобие тех, что используются в СУБД или файловых системах. И это уже не тривиальная задача. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Skipy |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 487 Регистрация: 24.8.2006 Где: Москва, Россия Репутация: 6 Всего: 16 |
Вопрос на засыпку. А зачем? |
|||
|
||||
| markivanov |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 17.7.2006 Репутация: нет Всего: нет |
Учень удобно исползовать seek(int), в зависимости от задачи можно сильно во времени выиграть
|
|||
|
||||
| COVD2 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 10.6.2006 Репутация: 1 Всего: 1 |
тогда храните просто в массиве |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Как я понял, проблема в хранении на диске, т.к. объекты требуют много памяти. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| COVD2 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 10.6.2006 Репутация: 1 Всего: 1 |
тогда чем RandomAccessFile не подходит? одна строка - один обьект.
|
|||
|
||||
| Stampede |
|
|||
![]() Гносеолог ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 963 Регистрация: 25.4.2005 Где: Calgary, Alberta, Canada Репутация: 24 Всего: 144 |
Строка чего? Сериализованные объекты Java - суть бинарные последовательности. Если наперед знать смещение и длину каждого объекта в файле, то да, можно поколдовать с преобразованиями между ObjectInputStream и RandomAccessFile и сделать так, чтобы при чтении объекта его двоичное представление мапилось на соответствующий участок в файле. Но тут сразу возникает масса вопросов:
Короче, если хорошенько порассуждать над этими вещами, то очень быстро станет ясно, что речь идет о написании самодельной объектной базы данных. Спрашивается, нафига в таком случае изобретать свой собственный, когда уже есть куча готовых велосипедов? -------------------- "If you want something done right, do it yourself" По секрету: выучить английский - реально! |
|||
|
||||
| Skipy |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 487 Регистрация: 24.8.2006 Где: Москва, Россия Репутация: 6 Всего: 16 |
Именно к этой мысли я и хотел подвести автора. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |