|
Unnamed
160 / 158 / 81
Регистрация: 09.06.2011
Сообщений: 852
|
|||||||||||
Считывание данных из ОЗУ (MemoryMappedFile)07.06.2014, 15:04. Показов 4203. Ответов 16
Метки нет (Все метки)
Здравствуйте, мне необходимо считать текстовый файл размером в 300мб, посоветовали воспользоваться Memory Mapped File. С записыванием данных в ОЗУ у меня не было проблем:
Добавлено через 56 минут Нашел, что еще необходимо добавить и как вариант проверил вывод:
0
|
|||||||||||
| 07.06.2014, 15:04 | |
|
Ответы с готовыми решениями:
16
Перессылка массива данных из одного места ОЗУ в другое место ОЗУ MemoryMappedFile и AIMP
|
|
Master of Orion
|
|
| 07.06.2014, 15:27 | |
|
kingzfate, да считывай просто как обычный файл. 300 мб - это не катастрофа. В крайнем случае у людей, у которых 512 метров памяти, будет задействована подкачка. Париться надо при чтении файлов 1гб+
0
|
|
|
Unnamed
160 / 158 / 81
Регистрация: 09.06.2011
Сообщений: 852
|
||||||
| 07.06.2014, 15:32 [ТС] | ||||||
|
Psilon, Проблема в том, что у меня программа вырубается когда я пытаюсь считать такой большой файл. Считываю так:
0
|
||||||
|
Unnamed
160 / 158 / 81
Регистрация: 09.06.2011
Сообщений: 852
|
|
| 07.06.2014, 18:55 [ТС] | |
|
Psilon, выбивает ошибку о нехватки памяти.
Необработанное исключение типа "System.OutOfMemoryException" в mscorlib.dll Может как то в другой поток? Или увеличить память
0
|
|
|
Unnamed
160 / 158 / 81
Регистрация: 09.06.2011
Сообщений: 852
|
|
| 07.06.2014, 20:08 [ТС] | |
|
Psilon, Вот скрины, выше вроде как все правильно делаю, да и не должно затрагиваться при открытии этого файла
0
|
|
|
Master of Orion
|
||||||
| 07.06.2014, 20:25 | ||||||
|
kingzfate, а попробуйте string s = File.ReadAllText сначала.
Добавлено через 7 минут kingzfate, вот простой код, который позволяет определить максимально возможный объем файла в мегабайтах:
вот еще пример, строка размером 500мб создается спокойно
0
|
||||||
|
Unnamed
160 / 158 / 81
Регистрация: 09.06.2011
Сообщений: 852
|
|
| 07.06.2014, 20:49 [ТС] | |
|
Psilon, string s = File.ReadAllText работает, как только пытаюсь записать в RichTextBox то вылетает, может в этом проблема?
0
|
|
|
Master of Orion
|
|
| 07.06.2014, 20:52 | |
|
kingzfate, ну а вы что хотели. Память не резиновая, то есть память-то как раз резиновая, а вот отобразить - проблема. попробуйте свой файл в блокноте открыть - он вас нафиг пошлет, сказав, что файл слишком большой.
0
|
|
|
Unnamed
160 / 158 / 81
Регистрация: 09.06.2011
Сообщений: 852
|
|
| 07.06.2014, 22:07 [ТС] | |
|
Psilon, как ни странно, в блокноте и в нотепаде все открывается) видимо там по другому химичить надо... т.е. string s = File.ReadAllText записывает в "s" весь текст, я правильно понимаю? И потом можно работать с эим стрингом?
0
|
|
|
Unnamed
160 / 158 / 81
Регистрация: 09.06.2011
Сообщений: 852
|
|
| 07.06.2014, 22:26 [ТС] | |
|
Psilon, Вот, открылось в блокноте.. но суть даже не в этом, как мне все таки работать с этим файлом?
0
|
|
|
Unnamed
160 / 158 / 81
Регистрация: 09.06.2011
Сообщений: 852
|
|
| 08.06.2014, 00:32 [ТС] | |
|
Psilon, я про то, что как мне его открыть, если пишет что не хватает памяти?) Или все таки пытаться через MMP?
0
|
|
|
Master of Orion
|
|
| 08.06.2014, 00:37 | |
|
kingzfate, MMP тут ничем не поможет, в строку же можно считать? Проблема в выводе в rtb. Делайте свой контрол и выводите в него
Только мне кажется, это вам немножко не по силам. Да и мне тоже. Нужно быть хардкорным винапишником чтоб такое замутить имхо.
1
|
|
|
192 / 199 / 82
Регистрация: 11.04.2013
Сообщений: 1,086
|
|
| 09.06.2014, 08:18 | |
|
0
|
|
| 09.06.2014, 08:18 | |
|
Помогаю со студенческими работами здесь
17
Считывание введенных данных, определение их типа и сохранение в виде массива данных Добавление записи в базу данных и считывание из базы данных Считывание из текстового файла выборочных данных, сортировка данных по возрастанию и последующая запись в другой файл Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|