ЧтениеТекста в 1С

На заметку: Чтение = Новый ЧтениеТекста(ИмяФайла,,,) и Чтение = Новый ЧтениеТекста(ИмяФайла) приводят к разному поведению при чтении файлов.

[code lang=»odines»]
ИмяФайла = "C:\temp\test.txt";

Запись = Новый ЗаписьТекста;
Запись.Открыть(ИмяФайла);

Запись.Записать("123123123" + Символы.ВК + "
|45/645/645/6" + Символы.ВК + "
|789789789");

Запись.Закрыть();

Чтение = Новый ЧтениеТекста(ИмяФайла); // 1 случай
// Чтение = Новый ЧтениеТекста(ИмяФайла,,,); // 2 случай

ТекущаяСтрока = Чтение.ПрочитатьСтроку();
Пока Не ТекущаяСтрока = Неопределено Цикл
Сообщить("`" + ЭкранироватьПереводыСтрок(ТекущаяСтрока) + "`");
ТекущаяСтрока = Чтение.ПрочитатьСтроку();
КонецЦикла;
[/code]

В первом случае вывод:

`123123123\r`
`45/645/645/6\r`
`789789789`

Во втором:

`123123123`
``
`45/645/645/6`
``
`789789789`

Притом, что разница только при использовании конструктора! При использовании неинициализированного объекта и метода Открыть() разницы нет:
[code lang=»odines»]
Чтение = Новый ЧтениеТекста;
Чтение.Открыть(ИмяФайла); // 3 случай
Чтение.Открыть(ИмяФайла,,,); // 4 случай
[/code]
Оба случая отработают по первому варианту


Comments are closed.