Запись файла против памяти в Java - PullRequest
0 голосов
/ 21 февраля 2011

У меня есть требование, когда мне нужно извлекать содержимое из строк Excel, некоторые операции записывают ответ в те же строки Excel, используя класс Java. Поэтому я решил сохранить ответ в памяти и записать его один раз. Это целесообразно, или я должен записать их в файл для каждого ответа? Пожалуйста, посоветуйте мне лучший подход.

P.N: Файл Excel будет содержать более 1000 строк с тремя отдельными рабочими листами.

Ответы [ 3 ]

2 голосов
/ 21 февраля 2011

Я бы все упростил, сохранил все в памяти и записал весь файл по окончании, если только набор данных не будет очень большим. Но поскольку Excel сам хранит все в памяти, у вас не должно возникнуть никаких проблем (по крайней мере, на современных компьютерах с несколькими ГБ ОЗУ).

Память недорогая, программисты не Улыбка

1 голос
/ 21 февраля 2011

Это зависит от требований. Должны ли изменения быть отражены в файле Excel, как только они будут сделаны? Если да, то у вас не будет выбора, кроме как записывать файл на диск после каждого изменения. Если нет проблем с обновлением файла только после того, как все изменения применены (или вызвана операция «сохранить»), то лучше сохранить данные электронной таблицы в памяти.

1 голос
/ 21 февраля 2011

Поскольку операции файлового ввода-вывода немного дороги, рекомендуется выполнить одну запись, как вы уже сделали, предполагая, что каждая строка не зависит от другой. но я бы пошел с фиксированным нет. строк за раз, скажем, 100/150, вместо записи всех сразу, потому что любой сбой операции в одной строке может вызвать исключение, влияющее на уже обработанные строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...