Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   максимальный размер String (http://www.flasher.ru/forum/showthread.php?t=158118)

DaFive 15.06.2011 16:47

По частям грузите тогда, раз нужно. 1 массив из хреновой тучи элементов не самый удачный подход.

alatar 15.06.2011 16:52

Цитата:

Сообщение от gnus (Сообщение 1003909)
я предполагал делать так:

Загруженный ByteArray — 280 Мб (Текст в кодировке win-1251, предположительно на русском) + String ~280Мб * (от 2-х до 4-х) (в UTF-8 символ занимает от одного до 4-х байт, по стандарту может и до шести) + сколько-то памяти уйдет при перекодировке + массив (Чуть больше чем полученная строка).
Памяти не напасетесь. Не говоря уже о том, как это будет работать.

gnus 15.06.2011 16:56

критиковать "предполагаемый" подход ни к чему. то, что это не работает я уже написал в первом посте.
просьба была - посоветовать, как решить эту задачу.

DaFive 15.06.2011 17:00

Что значит критиковать не надо, если подход неверен с самого начала. Вы скажите для чего это нужно? Еще раз повторю - загрузить нужно, мы это поняли. Что вы будете делать с этим массивом, ведь в него вы даже (если загрузите строку) не переведете эту самую строку методом split. Вы просто не дождетесь.

Искать фориком по массиву? - труба. Чтобы посоветовать решение - нужна задача.

cleptoman 15.06.2011 17:01

про 100 мегабайт - это гарантированный от Адоби аплоад через FileReference ...

по сабжу - а зачем вам столько много и сразу?

gnus 15.06.2011 17:17

повторюсь опять.
нужно загрузить текстовый файл со строками. получить эти строки в массив. и работать с ними так как заблагорассудится.

КорДум 15.06.2011 17:22

Цитата:

Сообщение от alatar (Сообщение 1003925)
Загруженный ByteArray — 280 Мб (Текст в кодировке win-1251, предположительно на русском) + String ~280Мб * (от 2-х до 4-х) (в UTF-8 символ занимает от одного до 4-х байт, по стандарту может и до шести) + сколько-то памяти уйдет при перекодировке + массив (Чуть больше чем полученная строка).
Памяти не напасетесь. Не говоря уже о том, как это будет работать.

Вот ответ.

carrotoff 15.06.2011 17:24

опять не успел.)

Вам не хватит памяти на обработку такой структуры

КорДум 15.06.2011 17:27

Не знаю, откуда столько текста, но может быть вы посмотрите в сторону БД? Каждая строка имеет свой индекс, загружаете только нужные.

Aquahawk 15.06.2011 17:27

Не вижу проблемы. Берёте и ищете по массиву байты который обозначают перевод строки, там есть такое. Определяете диапазон, переставляете указатель на начало этого диапазона и читаете readUTFBytes(length:uint):String. Возможно это будет падать, тогда попробуйте байты для строки скопировать в другой временный bytearray;


Часовой пояс GMT +4, время: 08:02.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.