Проблема с File.ReadAllLines
От: Аноним  
Дата: 17.01.11 12:37
Оценка:
Есть у меня файл с русскими буквами. Вот пытаюсь одну строку из него удалить


 private void DeleteLifeNumber()
       {
           string[] lines = File.ReadAllLines(IniFileName, System.Text.Encoding.Unicode);
           using (var bw =new BinaryWriter(new FileStream(IniFileName, FileMode.Create, FileAccess.Write
                                                          ,FileShare.None)
                                           , System.Text.Encoding.Unicode))
               foreach (string line in lines)
               {
                   if (!line.StartsWith("lifenumber"))
                       if (line.Length == 0)
                           bw.Write(Environment.NewLine);
                       else
                           bw.Write(line + Environment.NewLine);
               }
       }


И проблема в том, что первя строка получается состоит из множества непеч. символов. И при выводе получается иероглифы. В чём может быть проблема?
Re: Проблема с File.ReadAllLines
От: ZmeyNet  
Дата: 17.01.11 13:53
Оценка:
Здравствуйте, Аноним, Вы писали:

А>И проблема в том, что первя строка получается состоит из множества непеч. символов. И при выводе получается иероглифы. В чём может быть проблема?


действительно ли файл в Unicode ?
Re: Проблема с File.ReadAllLines
От: Lloyd Россия  
Дата: 17.01.11 14:08
Оценка:
Здравствуйте, Аноним, Вы писали:

А>И проблема в том, что первя строка получается состоит из множества непеч. символов. И при выводе получается иероглифы. В чём может быть проблема?


Попробуй так:

File.WriteAllLines(IniFileName, File.ReadAllLines(IniFileName, Encoding.Unicode).Where(_ => _.StartsWith("lifenumber")), Encoding.Unicode);
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.