![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Kisja |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 30.7.2007 Репутация: нет Всего: нет |
Господа, подскажите!
Есть один большой файл с данными (текстовый позиционный файл, одна строка- одна запись). Назовем его fileBig.txt. В этом файле нас интересует личный счет. И есть несколько файлов с другими данными (файлы *.dbf). Назовем их file1.dbf, file2.dbf, ..., fileN.dbf. В этих файлах тоже есть поле "личный счет". Тоесть данные в файлах *.dbf и fileBig.txt связаны по полю "личный счет". Нужно создать файлы (*.dbf) с данными из большого файла fileBig.txt, соответственно файлам file1.dbf, file2.dbf, ..., fileN.dbf. Тоесть, если запись содержиться в файле file1.dbf, то информацию, содержащуюся в строке из файла fileBig.txt нужно записать в файл file1new.dbf, если запись содержиться в файле fileN.dbf, то информацию, содержащуюся в строке из файла fileBig.txt нужно записать в файл fileNnew.dbf и т.д. Так вот меня интересует как лучше делать сравнение данных (например, можно читать строку из большого одного файла fileBig.txt и искать ее по очереди в файлах file1.dbf, file2.dbf, ..., fileN.dbf, а можно читать строки по порядку из файлов file1.dbf, file2.dbf, ..., fileN.dbf и тогда искать их в одном большом файле). А может создать масив, в который загнать все записи из большого файла, и массив, куда загнать все записи из файлов file1.dbf, file2.dbf, ..., fileN.dbf, и тогда манипулировать данными (предполагаемое количество записей около 10 000)? Поделитесь опытом и соображениями, пожалуйста. P.S. кодировать это придется на java |
|||
|
||||
| nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
Ну, я бы сделал так:
а) получил бы счета из всех дбфов и вогнал бы их в массив мап (одна мапа на один дбф) б) читал бы построчно большой файл, проверял, в какой мапе его счёт и писал бы в нужный дбф остальную информацию Если делать наоборот, то будет куда медленнее, т.к. тебе придётся множество раз читать большой файл от начала и до конца. Если же грузить всё в память, то есть ненулевая вероятность, что когда-нибудь она кончится и наступит "песец, вылезающий из моря". -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
| Kisja |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 30.7.2007 Репутация: нет Всего: нет |
Извините за незнание, что такое мапа? (массив мап)
|
|||
|
||||
| Baka_tyan |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 14.9.2006 Репутация: нет Всего: нет |
Как вариант, использовать СУБД. Считать данные из файлБиг, записать в таблицу, затем в цикле пока есть файлы ДБФ, записать в другую таблицу. Затем одним иннер джоином сделать выборку и записать в ДБФнью.
|
|||
|
||||
| w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 20 Всего: 54 |
Я бы также порекомендовал задействовать сервер приложений в кластерной конфигурации. -------------------- ![]() ![]() |
|||
|
||||
| Kangaroo |
|
|||
|
AA - Aussie Animal ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2042 Регистрация: 7.10.2006 Где: US Репутация: 21 Всего: 104 |
Бедная Kisja.
Если то представляю в какой ужас ее приведут слова: А если серьезно, то Map'a это:
Вот тут почитай. -------------------- Lost.... |
|||
|
||||
| nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
Ну, про мапу уже сказали. А массив мап - это массив, элементами которого являются мапы. Правда, под массивом я имел в виду скорее список (List). -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
![]()
|
| Правила форума "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. |