Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Чтение массива из файла

2.1K
05 июня 2007 года
госик
98 / / 20.11.2006
Как считать массив из файла?

У меня пока только такие мысли. Считывать построчно, потом каждую строку преобразовывать в массив символов (потому что в итоге мне надо получить двумерный массив символов)...

Кстати, была очень сильно удивлена. Считывала информацию из файла. В текстБокс выводится в какой-то кодировке, а на label все хорошо.

И еще вопрос... не знаете, у StreamReader есть что-то на проверку конца файла?
713
05 июня 2007 года
Ap0k
360 / / 13.03.2006
Массив каких именно элементов? Сериализация?
2.1K
05 июня 2007 года
госик
98 / / 20.11.2006
в файле - состоит из пробелов, цифр, звездочек. Но по-моему это неважно, в итоге мне нужно получить символьный двумерный массив. Если считываеть по строкам, то, может, есть возможность сделать что-то вроде GetCharArray. Только вот задача осложняется тем, что нужен, повторюсь, двумерный массив...
713
05 июня 2007 года
Ap0k
360 / / 13.03.2006
ну можно предложить что-то вроде этого /работоспособность и скорость не проверял, но могу точно сказать что работать будет только под dotNET Framwork не ниже чем второй версии/ :
Код:
[SIZE=2][COLOR=#0000ff]public [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]static [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]char[/COLOR][/SIZE][SIZE=2][][] GetCharArray([/SIZE][SIZE=2][COLOR=#0000ff]string[/COLOR][/SIZE][SIZE=2] path)[/SIZE]
[SIZE=2]{[/SIZE]
[SIZE=2][COLOR=#008080] List[/COLOR][/SIZE][SIZE=2]<[/SIZE][SIZE=2][COLOR=#0000ff]char[/COLOR][/SIZE][SIZE=2][]>result = [/SIZE][SIZE=2][COLOR=#0000ff]new [/COLOR][/SIZE][SIZE=2][COLOR=#008080]List[/COLOR][/SIZE][SIZE=2]<[/SIZE][SIZE=2][COLOR=#0000ff]char[/COLOR][/SIZE][SIZE=2][]>(); [/SIZE]
[SIZE=2][COLOR=#0000ff] using [/COLOR][/SIZE][SIZE=2]([/SIZE][SIZE=2][COLOR=#008080]StreamReader[/COLOR][/SIZE][SIZE=2] sr = [/SIZE][SIZE=2][COLOR=#0000ff]new [/COLOR][/SIZE][SIZE=2][COLOR=#008080]StreamReader[/COLOR][/SIZE][SIZE=2](path,[/SIZE][SIZE=2][COLOR=#008080]Encoding[/COLOR][/SIZE][SIZE=2].Default))[/SIZE]
[SIZE=2] {[/SIZE]
[SIZE=2][COLOR=#0000ff]    while[/COLOR][/SIZE][SIZE=2] (!sr.EndOfStream)[/SIZE]
[SIZE=2]    {[/SIZE]
[SIZE=2][COLOR=#0000ff]      int[/COLOR][/SIZE][SIZE=2] index = 0;[/SIZE]
[SIZE=2][COLOR=#0000ff]      string[/COLOR][/SIZE][SIZE=2][] chars = sr.ReadLine().Split([/SIZE][SIZE=2][COLOR=#800000]' '[SIZE=2], [/SIZE][SIZE=2][COLOR=#008080]StringSplitOptions[/COLOR][/SIZE][SIZE=2].[COLOR=black]RemoveEmptyEntries[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]);[/SIZE]
[SIZE=2]      result.Add([/SIZE][SIZE=2][COLOR=#0000ff]new [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]char[/COLOR][/SIZE][SIZE=2][chars.Length]);[/SIZE]
[SIZE=2][COLOR=#0000ff]      int[/COLOR][/SIZE][SIZE=2] counter = 0;[/SIZE]
[SIZE=2][COLOR=#008080]      Array[/COLOR][/SIZE][SIZE=2].ForEach(chars, [/SIZE][SIZE=2][COLOR=#0000ff]delegate[/COLOR][/SIZE][SIZE=2]([/SIZE][SIZE=2][COLOR=#0000ff]string[/COLOR][/SIZE][SIZE=2] item)[/SIZE]
[SIZE=2]                                     {[/SIZE]
[SIZE=2]                                         result[index][counter++] = [/SIZE][SIZE=2][COLOR=#008080]Char[/COLOR][/SIZE][SIZE=2].Parse(item.Trim());[/SIZE]
[SIZE=2]                                     });[/SIZE]
[SIZE=2]      index++;[/SIZE]
[SIZE=2]    }[/SIZE]
[SIZE=2] }[/SIZE]
[SIZE=2][COLOR=#0000ff] return[/COLOR][/SIZE][SIZE=2] result.ToArray();[/SIZE]
[SIZE=2]}[/SIZE]

Возвращает массив символов, для файла из символов разделенных пробелами
5.1K
05 июня 2007 года
freestyler
102 / / 23.02.2007
Вопрос некорректен. Как форматирован файл? Т.е. каким образом осуществляется переход к следующей строке массива: по символу перевода строки, по табуляции, по запятой, ещё как нибудь. "Ap0k" ну ты загнул! Бедной девушке такое написать:) ."госик" не в обиду будет сказанно.
713
05 июня 2007 года
Ap0k
360 / / 13.03.2006
2freestyler, а мы объясним, что значит каждя строчка и девушка изучит новые "штуки" которые будут потом экономить время ;)
2.1K
07 июня 2007 года
госик
98 / / 20.11.2006
для Ap0k
вижу, что это на 2005 надо, попробую перевести на уровень ниже :) Потом посмотрим...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог