Страница: 1 |
Вопрос: Не могу прочитать файл!!! | Добавлено: 25.08.04 12:30 |
Автор вопроса: ![]() |
Я создал файл в Word! Сохранил его как текстовый файл с нужной мне информацией. Потом его считываю из проги..
Dim fs As New FileStream(np, FileMode.Open) Dim fr As New StreamReader(fs, True) Dim ret_ar() As String Dim a As String Do If (ret_ar Is Nothing) Then ReDim ret_ar(0) Else ReDim Preserve ret_ar(UBound(ret_ar) + 1) End If a = fr.ReadLine ret_ar(UBound(ret_ar)) = a Loop While (fs.Seek(0, SeekOrigin.Current) <> fs.Length) Почему-то в результате получаеться строки с пробелами и пустые строки. Информацию игрорирует!!! Что я не так сделал? |
Ответы | Всего ответов: 5 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() Администратор ICQ: 326066673 Вопросов: 368 Ответов: 5968 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 25.08.04 13:42 |
А если прочитать файл целиком? Dim s As String = fr.ReadToEnd() |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() Вопросов: 16 Ответов: 21 |
Профиль | Цитата | #2 | Добавлено: 25.08.04 14:11 |
Спасибо за ответ я кажеться понял! Надо текст сохранять не в кодировке винды - студия этого почему-то не понимает а в кодировке UTF8 или 7 и поставить вот так
Dim fr As New StreamReader(fs, System.Text.Encoding.UTF8). Тогда все ОК. |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() Администратор ICQ: 326066673 Вопросов: 368 Ответов: 5968 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 25.08.04 14:16 |
Если суть вопроса была в этом, то можно любую кодировку задать... System.Text.Encoding.Default - дефолтная кодировка Windows System.Text.Encoding.GetEncoding(1251) - Windows-1251 System.Text.Encoding.GetEncoding(866) - DOS А StreamReader без указания кодировки подразумевает, что файл в 7-битной кодировке ASCII. Отсюда идет замена символов кирилицы на знаки "?". |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() Вопросов: 16 Ответов: 21 |
Профиль | Цитата | #4 | Добавлено: 25.08.04 14:28 |
Просто почему-то дефолтная кодировка у меня не работала!!! Не вопросики были а просто ничего не было тока пробела. а символы игнорировались. Кстати вопрос не по этой теме -
почему когда я просматриваю свойство position у FileStream постоянно одно и то же значение 1024. А потом резко меняеться и становиться равным длине файла. Причем файл в этот момент считан только на половину? |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 165728420 Вопросов: 1 Ответов: 96 |
Профиль | Цитата | #5 | Добавлено: 04.09.04 07:29 |
Используй класс StreamReader и кодировку System.Text.Encoding.GetEncoding(1251)
Не используй кодировку по умолчанию. Она не работает. И НИКОГДА не сохраняй текст Word-ом. Лучше уж блокнот... Хотя я редактирую текстовые файлы самим Visual Studio. |
Страница: 1 |
|