Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблема при работе с StreamReader, не читает русские символы 
V
    Опции темы
RWander
Дата 19.3.2007, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 4.5.2006
Где: Russia.Udm.Izhevs k

Репутация: 1
Всего: 6



Проблема в следующем: необходимо до конца прочитать текстовый файл (который содержит русские буквы) посимвольно, каждый считанный символ записать в строку

Код

            string FileName = "...";

            System.IO.StreamReader stream = new 
                System.IO.StreamReader(FileName);
                                      
                                    string str = " ";

            while (stream.Peek() >= 0)
            {
                str += stream.Read().ToString();
            }


но почему-то русские символы пропускаются.. наверно все дело в кодеровке.. smile что делать?



--------------------
Microsoft Certified Technology Specialist - ASP.NET Applications
PM MAIL   Вверх
Ch0bits
Дата 19.3.2007, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

Репутация: 9
Всего: 62



В конструкторе StreamReader надо задать кодировку файла. По умолчанию используется юникод, а твой файл видимо на Windows-1251. Короче читай MSDN.

Добавлено @ 21:34 
И читать целиком проще с помощью метода ReadToEnd()  smile 
PM WWW   Вверх
RWander
Дата 20.3.2007, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 4.5.2006
Где: Russia.Udm.Izhevs k

Репутация: 1
Всего: 6



проблема решена

Код

            string FileName = "...";

            System.IO.StreamReader stream = new 
                System.IO.StreamReader(FileName, System.Text.Encoding.Defult);
                                      
                                    string str = " ";

            while (stream.Peek() >= 0)
            {
                str += stream.Read().ToString();
            }


 smile 


--------------------
Microsoft Certified Technology Specialist - ASP.NET Applications
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0463 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.