файлы в C#
От: Serjinio  
Дата: 07.11.07 17:21
Оценка:
Люди, подскажите как прочитать русский текст из файла в С#
следующий код работает только для латинских символов((

   string res = "";
   StreamReader sr = new StreamReader(name);
   res = sr.ReadLine().Trim();
   sr.Close();
Re: файлы в C#
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 07.11.07 17:44
Оценка:
Здравствуйте, Serjinio, Вы писали:

S>Люди, подскажите как прочитать русский текст из файла в С#

S>следующий код работает только для латинских символов((

S>
S>   string res = "";
S>   StreamReader sr = new StreamReader(name);
S>   res = sr.ReadLine().Trim();
S>   sr.Close();
S>




Файлы по-умолчанию открываются в кодировке UTF-8, а твой файл сохранен, вероятнее всего в cp1251. Латиница в UTF-8 выглядит также, как любой другой кодировке, а вот с русскими буквами не так.
Кодировку надо явно указывать при открытии.

   string res = "";
   StreamReader sr = new StreamReader(name,Encoding.GetEncoding(1251)/*или Encoding.Default если 1251 - кодировка по-умолчанию системы*/);
   res = sr.ReadLine().Trim();
   sr.Close();


А вообще такой код лучше заменить на


string res = File.ReadAllText(name,Encoding.Default);
Re[2]: файлы в C#
От: Serjinio  
Дата: 07.11.07 18:03
Оценка:
сейчас попробуем...
Re[2]: файлы в C#
От: Serjinio  
Дата: 07.11.07 18:10
Оценка:
gandjustas, спсибо, рельно помог
Re[2]: файлы в C#
От: Konstantin.Nizhegorodov Россия  
Дата: 07.11.07 18:36
Оценка: +2
Здравствуйте, gandjustas, Вы писали:

G>А вообще такой код лучше заменить на



G>
G>string res = File.ReadAllText(name,Encoding.Default);
G>



У вас память бесконечна? А если у меня файл на 10 гигов?
Re[3]: файлы в C#
От: _d_m_  
Дата: 12.11.07 03:06
Оценка:
Здравствуйте, Konstantin.Nizhegorodov, Вы писали:

KN>Здравствуйте, gandjustas, Вы писали:


G>>А вообще такой код лучше заменить на



G>>
G>>string res = File.ReadAllText(name,Encoding.Default);
G>>



KN>У вас память бесконечна? А если у меня файл на 10 гигов?


Текстовик на 10 Гигов?
Re[2]: файлы в C#
От: _FRED_ Черногория
Дата: 12.11.07 06:20
Оценка:
Здравствуйте, gandjustas, Вы писали:

S>>   string res = "";
S>>   StreamReader sr = new StreamReader(name);
S>>   res = sr.ReadLine().Trim();
S>>   sr.Close();


G>А вообще такой код лучше заменить на


G>string res = File.ReadAllText(name,Encoding.Default);


А что, разве нет разницы: прочитать только первую строку
S>>   res = sr.ReadLine().Trim();

и все строки
G>string res = File.ReadAllText(name,Encoding.Default);


Help will always be given at Hogwarts to those who ask for it.
Re: файлы в C#
От: divergo  
Дата: 12.11.07 07:38
Оценка:
WMI:select * from Win32_LogicalShareAccess
Re[4]: файлы в C#
От: Konstantin.Nizhegorodov Россия  
Дата: 12.11.07 14:17
Оценка:
Здравствуйте, _d_m_, Вы писали:

___>Здравствуйте, Konstantin.Nizhegorodov, Вы писали:


KN>>Здравствуйте, gandjustas, Вы писали:


G>>>А вообще такой код лучше заменить на



G>>>
G>>>string res = File.ReadAllText(name,Encoding.Default);
G>>>



KN>>У вас память бесконечна? А если у меня файл на 10 гигов?


___>Текстовик на 10 Гигов?


Не понял, что Вас смутило. Да, запросто. Текстовик на 10 ГИГОВ — логи за день, например.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.