С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
HypnoticSpecter
2 / 2 / 0
Регистрация: 22.07.2010
Сообщений: 51
1

Сохранить множество текстовых файлов по типу трехмерного массива

15.05.2012, 08:06. Просмотров 756. Ответов 12
Метки нет (Все метки)

Прошу помощи.
Как сохранить множество текстовых файлов в виде коллекции по типу трехмерного массива (срока, столбец, файл).
 Комментарий модератора 
Одна тема - один вопрос (Правила п.3.15)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2012, 08:06
Ответы с готовыми решениями:

Доступ к элементам трехмерного массива Java vs .NET
Здравствуйте, товарищи! Пусть имеет некоторый трехмерный массив,...

создание текстовых файлов в C#
Прочитал почти всю веку форума, вроде что-то и есть по работе с файлами но ни...

Обработка текстовых файлов
Здравствуйте, у меня следующий вопрос по обработке текстовой информации есть...

Анализатор текстовых файлов
Написать анализатор текстовых файлов, выводящий информацию о количестве слов в...

Обработка текстовых файлов
помогите пожалуйста!!! есть программа: Дан исходный текстовый файл:...

12
nio
5959 / 3365 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
15.05.2012, 09:28 2
пространство на диске линейно, поэтому физически куб соорудить не получится. Как вариант могу предложить изменение имени файла с координатами размещения по принципу filename -> xxyyzz_filename. Тогда при считывании распарсишь название и поместишь в соответствующее место в массиве

Добавлено через 1 минуту
Если названия файлов менять нельзя, тогда можно создать некий файл, который будет хранить структуру этого массива.
1
HypnoticSpecter
2 / 2 / 0
Регистрация: 22.07.2010
Сообщений: 51
15.05.2012, 11:30  [ТС] 3
Поясню задачу.
Есть большая база текстовых файлов. Мне их надо закачать в ОЗУ и работать с ними в программе.
Если хранить эти файлы в виде одного массива (например массив строк [50000,2000] 50000 строк в файле и 2000 файлов) , то выходит не рационально. Я не знаю размеров файлов, поэтому приходится выделять память на массив с запасом, а коллекции могут быть динамическими. К тому же известно, что массивы работают медленнее чем коллекции.
Так вот с целью уменьшения расхода памяти и ускорения работы программы я подумал реализовать это дело с помощью коллекций.
0
nio
5959 / 3365 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
15.05.2012, 11:44 4
HypnoticSpecter, мне кажется это неверный подход, нерациональное использование ресурсов. правильнее будет хранить массив (коллекцию) имен файлов, и при необходимости нужные открывать.
0
HypnoticSpecter
2 / 2 / 0
Регистрация: 22.07.2010
Сообщений: 51
15.05.2012, 12:40  [ТС] 5
Поскольку обычно бывает большое число итераций и приходится сравнивать файлы друг с другом, то это очень сильно замедляет работу программы (открывание и закрывание файлов) .
Вычислительные ресурсы для этой задачи не важны. Самое главное скорость.
0
HypnoticSpecter
2 / 2 / 0
Регистрация: 22.07.2010
Сообщений: 51
16.05.2012, 13:09  [ТС] 6
C#
1
2
List<List<string>> retlist = new List<List<string>>();
//как установить значение на таком то индексе ?
0
turbanoff
Эксперт Java
4020 / 3755 / 742
Регистрация: 18.05.2010
Сообщений: 9,329
Записей в блоге: 11
Завершенные тесты: 1
16.05.2012, 13:17 7
если только изменить(элемент с таким индексом уже существут), то так:
C#
1
retlist[i][j] = "new value";
1
kuroiryuu
321 / 305 / 68
Регистрация: 05.11.2009
Сообщений: 712
Завершенные тесты: 2
16.05.2012, 13:23 8
HypnoticSpecter, а не проще создать кэш для часто используемых файлов, просто все файлы загонять в память это иррационально
0
HypnoticSpecter
2 / 2 / 0
Регистрация: 22.07.2010
Сообщений: 51
16.05.2012, 13:27  [ТС] 9
Цитата Сообщение от turbanoff Посмотреть сообщение
если только изменить(элемент с таким индексом уже существут), то так:
C#
1
retlist[i][j] = "new value";
А если вставить элемент по такому то индексу ?

Добавлено через 57 секунд
Цитата Сообщение от kuroiryuu Посмотреть сообщение
HypnoticSpecter, а не проще создать кэш для часто используемых файлов, просто все файлы загонять в память это иррационально
Нет часто используемых файлов.
Все файлы открываются обычно последовательно.
0
kuroiryuu
321 / 305 / 68
Регистрация: 05.11.2009
Сообщений: 712
Завершенные тесты: 2
16.05.2012, 13:36 10
Цитата Сообщение от HypnoticSpecter Посмотреть сообщение
Нет часто используемых файлов.
Все файлы открываются обычно последовательно.
значит мне не совсем понятен бизнес-процесс сие задачи...
0
HypnoticSpecter
2 / 2 / 0
Регистрация: 22.07.2010
Сообщений: 51
16.05.2012, 13:50  [ТС] 11
Куча файлов. Их надо сравнивать друг с другом всячески.
0
kuroiryuu
321 / 305 / 68
Регистрация: 05.11.2009
Сообщений: 712
Завершенные тесты: 2
16.05.2012, 13:55 12
Цитата Сообщение от HypnoticSpecter Посмотреть сообщение
Куча файлов. Их надо сравнивать друг с другом всячески.
смотря по чём сравнивать, если по содержанию, то лучше как nio писал: открывать и закрывать каждый файл, - в производительности вы ничего не теряете.
0
HypnoticSpecter
2 / 2 / 0
Регистрация: 22.07.2010
Сообщений: 51
16.05.2012, 14:11  [ТС] 13
Еще как теряю. Одно дело обращаться к винту другое дело к оперативке.
Файлы полностью сравниваются друг с другом. Каждый с каждым.
0
16.05.2012, 14:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2012, 14:11

Перекодирование текстовых файлов
Необходимо написать программу которая сможет: 1)определить в какой кодировке...

Обработка текстовых файлов
Всем доброго времени суток!!! Помогите пожалуйста с задачей - никак не могу...

Чтение и запись текстовых файлов
Дан текстовый файл (in.txt) содержащий список учащихся и их оценки по трем ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru