Отображение большого файла в JTextArea - PullRequest
3 голосов
/ 29 апреля 2010

Я сейчас работаю в Swing UI Assignment. Эта работа включает показ содержимого большого файла в JTextArea. Размер файла может достигать 2 ГБ.

Моя первоначальная идея - лениво загружать контент из файла, скажем, пользователю будет показано 1 МБ контента. Когда пользователь прокручивает, я получу следующие 1 МБ контента для отображения. Все эти операции будут происходить в фоновом потоке (Swing Worker).

Я посмотрел на API JTextArea, метод insert принимает в качестве параметра String и int (положение вставки).

Этого будет достаточно, но я беспокоюсь о производительности, потому что полученный контент (1 МБ за раз) должен быть преобразован в объект String.

Есть ли какое-нибудь другое решение или какое-либо другое альтернативное / лучшее решение для этого.

1 Ответ

4 голосов
/ 29 апреля 2010

Проблема эффективности будет лежать в модели документа.

Путь, вероятно, состоит в том, чтобы обеспечить эффективную реализацию Document.

Однако лично я бы попытался пересмотреть и попытаться использовать другой пользовательский интерфейс. Кто в любом случае захочет пролистать 2 ГБ данных?

...