![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
sadisasha |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 15.12.2006 Репутация: нет Всего: нет |
Суть такова, изначально в файле конец строк записан в формате Unix, после выполнения кода конец строк записывается в форме Windows (об этом я узнал открыв файл блокнотом Notepad++). Подскажите как файл сохранить так чтобы конец строки был как в изначальном виде.
Это сообщение отредактировал(а) sadisasha - 8.4.2013, 17:44 |
|||
|
||||
SKrivosein |
|
|||
![]() Идущий в даль ![]() ![]() Профиль Группа: Участник Сообщений: 271 Регистрация: 9.6.2007 Где: Praha - Прага Репутация: 4 Всего: 8 |
Попробуй так
|
|||
|
||||
sadisasha |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 15.12.2006 Репутация: нет Всего: нет |
Да нет, это одно и тоже. У меня в файле 13 строк размер файла 541 байт, в notepad++ есть такая штука (преобразовать в Unix формат), после этого преобразования получается 528 байт то есть убирается 13 байт(13 концов строк), а вот "\n" это как раз конец строки в Windows формате. Получается что Replace ни чего не меняет.
|
|||
|
||||
SKrivosein |
|
|||
![]() Идущий в даль ![]() ![]() Профиль Группа: Участник Сообщений: 271 Регистрация: 9.6.2007 Где: Praha - Прага Репутация: 4 Всего: 8 |
\n - это конец строки в UNIX
\n\r - Windows \r - некоторые версии MacOS Environment.NewLine lines[i] = Replace(@"\r",""); Я вот не пойму откуда в этой строке взялся метод Replace? И @"\r" читает дословно а не как ескэйп сиквенс, по моему должно быть "\r". Это сообщение отредактировал(а) SKrivosein - 8.4.2013, 22:22 |
|||
|
||||
sadisasha |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 15.12.2006 Репутация: нет Всего: нет |
Вроде как должно быть просто найти "\r\n" и оставить "\n", но вот при сохранении размер не меняется то есть все остается по старому. Может быть метод WriteAllLines сам добавляет конец строки в формате windows.
|
|||
|
||||
SKrivosein |
|
|||
![]() Идущий в даль ![]() ![]() Профиль Группа: Участник Сообщений: 271 Регистрация: 9.6.2007 Где: Praha - Прага Репутация: 4 Всего: 8 |
Да текстовые методы Write сами придают "\r\n".
Не знаю что у тебя там по коду, но вот такое будет работать
Это сообщение отредактировал(а) SKrivosein - 8.4.2013, 23:35 |
|||
|
||||
Machaon |
|
|||
![]() КаРолЬ АсьКи МуАЛя ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 12.8.2008 Где: М.о. Красногорск Репутация: 3 Всего: 3 |
Попробуй так :
что такое BOM Должно все работать. Это сообщение отредактировал(а) Machaon - 8.4.2013, 23:37 |
|||
|
||||
sadisasha |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 15.12.2006 Репутация: нет Всего: нет |
SKrivosein, спасибо помог разобраться с моей замарочкой.
Вот я подправил твой метод, может кому пригодится. Machaon, у Вас метод сохраняет текст в кодировке UTF8 без BOM, метод Write все равно приписывает конец строки в формате Windows. И Вас спасибо что откликнулись. Тему можно закрывать. Это сообщение отредактировал(а) sadisasha - 9.4.2013, 00:09 |
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Те, которые записывают текст построчно - да, в частности райтолллайнс, райтлайн и т. д. Просто в данном случае лучше для записи использовать стримрайтер и правильно указать значение вот этого свойства http://msdn.microsoft.com/ru-ru/library/sy...er.newline.aspx -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
SKrivosein |
|
|||
![]() Идущий в даль ![]() ![]() Профиль Группа: Участник Сообщений: 271 Регистрация: 9.6.2007 Где: Praha - Прага Репутация: 4 Всего: 8 |
Я простенько проверял способ Machaona и он у меня тоже работал. Наверное зависит от конкретных условий, я так побыстрому проверял, чтобы много не кодить. Ну хорошо что есть решение
![]() |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |