Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > VB .NET > Построчное чтение файла |
Автор: Machaon 16.9.2008, 18:05 |
Необходимо построчно читать текстовый файл но почемуто функция Open вызывает ошибку можно пример как читать. |
Автор: diadiavova 16.9.2008, 19:31 |
Если речь идёт о классах System.IO.File или System.IO.FileInfo попробуй функцию OpenText (она есть у обоих классов). Возвращает объект StreamReader у которого есть функции типа ReadLine и т. д. Добавлено через 11 минут и 8 секунд Кстати, для чтения текстового файла вообще надо использовать System.IO.StreamReader. Можно создать при помощи конструктора. Только не забывай закрывать его после использования(метод Close), а то потом к файлу не будет доступа. |
Автор: Machaon 17.9.2008, 00:13 |
Можно примерчик ![]() |
Автор: diadiavova 17.9.2008, 01:09 | ||||
В массив прочитать проще так
А загнать в листбокс думаю такой код прокатит
MyListBox - это собсно листбокс, а lineArray - то же, что и вверху. В работе код не пробовал, так что если что не так - стучи, разберёмся. |
Автор: Machaon 17.9.2008, 02:19 |
Во терь все понятно спс. |
Автор: Machaon 17.9.2008, 03:23 |
Только вот беда руский текст неподдерживат как кодировку поменять то ? |
Автор: diadiavova 17.9.2008, 10:57 | ||
Функция ReadAllLines - перегружена. Есть вариант с кодировкой. Например тебе надо загрузить текст в кодировке Windows-1251 делаешь примерно так
Кстати в классе System.Text.Encoding есть открытая функция GetEncodings, возвращающая массив поддерживаемых кодировок. Изучив их свойства можно узнать коды для их создания или создать инструмент для выбора кодировки (комбобокс какой-нибудь, или что-то в том же роде). |
Автор: Machaon 29.9.2008, 16:02 |
Спасибо. |
Автор: bugmenot 19.5.2009, 20:11 |
diadiavova а как можно определить кодировку txt файла не читая его дважды? Например прочитав одир раз в отображении ListView подправить её. |
Автор: diadiavova 19.5.2009, 21:47 |
Сам текстовый файл такой информации не несёт. Некоторые программы определяют кодировку при помощи собственных алгоритмов. Обычно для этого берётся часть текста, и в разных кодировках проверяется наличие слов известных программе языков. Встроенных механизмов в дотнете для этого нет(на сколько мне известно). |
Автор: bugmenot 20.5.2009, 00:50 |
diadiavova, спасибо за ответ. Прийдётся два раза читать: первый раз прочитать и как Ворд предпросмотр показывать с выбором возможных кодировок, опираясь как ты уже подсказал на GetEncodings. Или по умолчанию читать всё в ANSI и опцыонально предлагать через интерфейс проги прочитать в другой кодировке. |
Автор: diadiavova 20.5.2009, 00:53 |
Если по-русски написано, то по умолчанию лучше "Windows-1251", ИМХО - используется чаще других. |