Чтение файла по строкам

1. RustRR 22.03.18 15:50 Сейчас в теме
Хочу записать логи технологического журнала в регистр сведений построчно. Разделителем строк в файле является символы CR+LF (просматриваю в Notepad++), но также встречаются одиночные LF. В переводе на язык 1С это символы ВК и ПС.
Проблема в том, что 1С упорно считает разделителем строки одиночный ПС (LF) и никакими вариантами чтения через ТекстовыйДокумент или ЧтениеТекста не удалось правильно разделить строки.
По теме из базы знаний
Найденные решения
10. RustRR 22.03.18 16:32 Сейчас в теме
Ура, получилось подобрать решение!

ЧтениеТекста = Новый ЧтениеТекста(Файл.ПолноеИмя, КодировкаТекста.UTF8, Символы.ВК + Символы.ПС, Символы.ПС);
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. vasilev2015 2699 22.03.18 16:04 Сейчас в теме
(1) ТЖ уже не модно парсить средствами Windows. Вчерашний день. Посмотрите https://its.1c.ru/db/metod8dev#content:5927:hdoc.
7. RustRR 22.03.18 16:19 Сейчас в теме
(4) Собственно, парсить журнал я пока не собирался. Идея в том, чтобы сложить тысячи файлов в регистр на постоянное хранение и обеспечить нормальный поиск логов по дате.
14. vasilev2015 2699 22.03.18 16:58 Сейчас в теме
(7) файлы логов не нужно в регистр. Если хотите сохранять, их нужно архивировать и перемещать в файл-хранилище. Для файлов, размером порядка 3 Гб это лучшая стратегия.
15. zarucheisky 22.03.18 17:16 Сейчас в теме
(1) Используй ЧтениеДанных :))))))
Сам сможешь определять чего, когда и как :)
2. DarkUser 22.03.18 15:57 Сейчас в теме
Попробуйте через создание создание массива: СтрРазделить, указав нужный разделитель. А потом просто обойдите все элементы массива.
3. пользователь 22.03.18 16:01
Сообщение было скрыто модератором.
...
5. caponid 22.03.18 16:09 Сейчас в теме
А разве чтение текста не обрабатывает переводы строк?
Текст = Новый ЧтениеТекста("c:\test.txt", КодировкаТекста.UTF8, Символы.ПС, Символы.ВК + Символы.ПС);
9. RustRR 22.03.18 16:27 Сейчас в теме
Пробовал, не получилось. Например, такой код создает лишние разделения строки.
МассивСтрок = Новый Массив;
ЧтениеТекста = Новый ЧтениеТекста(Файл.ПолноеИмя, КодировкаТекста.UTF8, Символы.ПС, Символы.ВК + Символы.ПС);
СтрокаТекста = ЧтениеТекста.ПрочитатьСтроку();
Пока СтрокаТекста <> Неопределено Цикл
	МассивСтрок.Добавить(СтрокаТекста);
	СтрокаТекста = ЧтениеТекста.ПрочитатьСтроку();
КонецЦикла;
11. caponid 22.03.18 16:33 Сейчас в теме
(9) так что нужно? что бы разделителем строк были Символы.ВК + Символы.ПС? а Символы.ПС - разделителем не являлся?
12. RustRR 22.03.18 16:36 Сейчас в теме
(11) Да, так и описал в начале.
6. RustRR 22.03.18 16:16 Сейчас в теме
Так до создания массива нужно сначала прочитать файл. А при прочтении файла и происходят неявные (для меня) замены символов. Например после
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.Прочитать(ИмяФайла);
СтрокаСодержимого = ТекстовыйДокумент.ПолучитьТекст();

СтрокаСодержимого отличается от настоящего содержимого файла.

Вопрос в том, как правильно прочитать файл.
8. kuzev 47 22.03.18 16:19 Сейчас в теме
(6) используйте ЧтениеТекста().
10. RustRR 22.03.18 16:32 Сейчас в теме
Ура, получилось подобрать решение!

ЧтениеТекста = Новый ЧтениеТекста(Файл.ПолноеИмя, КодировкаТекста.UTF8, Символы.ВК + Символы.ПС, Символы.ПС);
13. caponid 22.03.18 16:36 Сейчас в теме
(10) да, это решение при ответе на (11) - да))
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот