Открывает текстовый файл для чтения. Аналогичен методу Открыть.
Синтаксис
Новый ЧтениеТекста(<ИмяФайла>, <Кодировка>, <РазделительСтрок>, <КонвертируемыйРазделительСтрок>, <МонопольныйРежим>)Примеры платформы
ДлинныйТекст = Новый ЧтениеТекста("c:\temp\file.txt", КодировкаТекста.UTF16);Полное описание, параметры и ограничения
ЧтениеТекста.По имени файла
ЧтениеТекста (TextReader)
По имени файла
Доступен, начиная с версии 8.0.
Синтаксис:
Новый ЧтениеТекста(<ИмяФайла>, <Кодировка>, <РазделительСтрок>, <КонвертируемыйРазделительСтрок>, <МонопольныйРежим>)
Параметры:
<ИмяФайла> (обязательный)
Тип: Строка.
Имя текстового файла для чтения.
<Кодировка> (необязательный)
Тип: КодировкаТекста, Строка.
Определяет кодировку текста читаемого текстового файла (согласован с текстовым документом). Если параметр не задан, формат текста будет определен автоматически по сигнатуре BOM в начале файла; если сигнатура BOM в файле отсутствует, файл будет открыт в кодировке ANSI.
Кодировка может быть задана как в виде значения перечисления КодировкаТекста, так и в виде строки с указанием названия кодировки.
Поддерживаемые названия кодировок:
UTF-8
UTF-16
UTF-16BE
UTF-16LE
ISO-8859-1
US-ASCII
gb18030
iso-8859-2
iso-8859-3
iso-8859-4
iso-8859-5
iso-8859-6
iso-8859-7
iso-8859-8
iso-8859-9
iso-8859-13
iso-8859-15
Shift_JIS
EUC-JP
Big5
Big5-HKSCS
GBK
GB2312
GB_2312-80
EUC-KR
KSC_5601
windows-949
windows-874
cp866
KOI8-R
KOI8-U
windows-1250
windows-1251
windows-1252
windows-1253
windows-1254
windows-1255
windows-1256
windows-1257
windows-1258
macintosh
x-mac-cyrillic
ISO-2022-JP
ISO-2022-KR
ISO-2022-CN
ISO-2022-CN-EXT
HZ-GB-2312
<РазделительСтрок> (необязательный)
Тип: Строка.
Определяет строку, разделяющую строки текстового файла.
Значение по умолчанию: ПС.
<КонвертируемыйРазделительСтрок> (необязательный)
Тип: Строка.
Определяет разделение строк в файле для конвертации в стандартный перевод строк ПС.
Значение по умолчанию: ВК + ПС.
<МонопольныйРежим> (необязательный)
Тип: Булево.
Определяет режим открытия файла. Истина - монопольный, Ложь - разделяемый.
Значение по умолчанию: Истина.
Описание:
Открывает текстовый файл для чтения. Аналогичен методу Открыть.
Пример:
ДлинныйТекст = Новый ЧтениеТекста("c:\temp\file.txt", КодировкаТекста.UTF16);
См. также:
ЧтениеТекста, метод Открыть
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Создать текстовый журнал, дописать строку и прочитать его
Полный цикл работы с отдельным временным файлом: запись, закрытие, дописывание и построчное чтение, включая пустую строку.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Используйте учебную файловую базу под Windows. Служебная учётная запись 1С должна иметь доступ к своему временному каталогу.
Пример создаёт только уникальные учебные файлы через ПолучитьИмяВременногоФайла. Не подставляйте пути к рабочим документам.
Все текстовые файлы читаются с явно указанной кодировкой UTF-8. Пустая строка не означает конец файла.
ИмяФайла = ПолучитьИмяВременногоФайла("txt");
Запись = Неопределено;
Чтение = Неопределено;
Попытка
Запись = Новый ЗаписьТекста(ИмяФайла, КодировкаТекста.UTF8);
Запись.ЗаписатьСтроку("Начало учебного обмена");
Запись.ЗаписатьСтроку("");
Запись.Записать("Товар A-01: 3");
Запись.Закрыть();
Запись = Неопределено;
Запись = Новый ЗаписьТекста;
Запись.Открыть(ИмяФайла, КодировкаТекста.UTF8, Символы.ПС, Истина);
Запись.ЗаписатьСтроку("");
Запись.ЗаписатьСтроку("Обмен завершён");
Запись.Закрыть();
Запись = Неопределено;
Чтение = Новый ЧтениеТекста(ИмяФайла, КодировкаТекста.UTF8);
Номер = 0;
СтрокаЖурнала = Чтение.ПрочитатьСтроку();
Пока СтрокаЖурнала <> Неопределено Цикл
Номер = Номер + 1;
Сообщить(СтрШаблон("%1: [%2]", Номер, СтрокаЖурнала));
СтрокаЖурнала = Чтение.ПрочитатьСтроку();
КонецЦикла;
Чтение.Закрыть();
Чтение = Неопределено;
УдалитьФайлы(ИмяФайла);
Исключение
Если Запись <> Неопределено Тогда
Запись.Закрыть();
КонецЕсли;
Если Чтение <> Неопределено Тогда
Чтение.Закрыть();
КонецЕсли;
УчебныйФайл = Новый Файл(ИмяФайла);
Если УчебныйФайл.Существует() Тогда
УдалитьФайлы(ИмяФайла);
КонецЕсли;
ВызватьИсключение;
КонецПопытки;Разбор по шагам
ЗаписатьСтроку добавляет перевод строки; Записать оставляет курсор сразу после текста товара.
Закрываем первую запись. Открыть с четвёртым параметром Истина сохраняет прежнее содержимое и дописывает в конец.
Перед строкой завершения добавляем перевод строки, чтобы она не склеилась со строкой товара.
Читаем до Неопределено: пустую строку выводим как [], а не считаем концом файла. Закрываем чтение и удаляем только свой файл.
Как проверить результат
Первые четыре строки: [Начало учебного обмена], [], [Товар A-01: 3], [Обмен завершён]. Финальный перевод строки может давать дополнительную пустую строку; проверяйте поведение своей платформы.
Замените Истина на Ложь в Открыть: исходные строки будут затёрты. Делайте это только в данном временном файле.
Уберите ЗаписатьСтроку("") перед завершением: тексты товара и завершения склеятся в одну строку.
Ожидаемый результат
Учебный журнал прочитан по строкам, созданный временный файл удалён.
На что обратить внимание
Не держите файл открытым для записи, когда пытаетесь открыть его для чтения.
Это журнал текста, а не универсальный CSV-парсер: поля с кавычками и переводами строк требуют отдельного формата.
В реальном приложении ошибка очистки не должна скрывать исходную ошибку; здесь демонстрируется простой учебный вариант.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.