Создает объект чтения из заданного файла. При этом будет файл, указанный в параметре ИмяФайла, будет автоматически открыт на чтение. Если файл с таким именем не существует, будет сгенерировано исключение. После завершения работы с объектом ЧтениеДанных до того, как будет закрыт поток, переданный в конструктор, объект следует закрыть с помощью метода Закрыть или НачатьЗакрытие. При этом файл, указанный в параметре <ИмяФайла>, будет автоматически закрыт.
Синтаксис
Новый ЧтениеДанных(<ИмяФайла>, <КодировкаТекста>, <ПорядокБайтов>, <РазделительСтрок>, <КонвертируемыйРазделительСтрок>)Полное описание, параметры и ограничения
ЧтениеДанных.На основании имени файла
ЧтениеДанных (DataReader)
На основании имени файла
Доступен, начиная с версии 8.3.9.
Синтаксис:
Новый ЧтениеДанных(<ИмяФайла>, <КодировкаТекста>, <ПорядокБайтов>, <РазделительСтрок>, <КонвертируемыйРазделительСтрок>)
Параметры:
<ИмяФайла> (обязательный)
Тип: Строка.
Имя файла, из которого будет выполнено чтение данных.
<КодировкаТекста> (необязательный)
Тип: КодировкаТекста, Строка.
Определяет кодировку текста, используемую для чтения файла. По умолчанию используется кодировка UTF-8.
Кодировка может быть задана как в виде значения перечисления КодировкаТекста, так и в виде строки с указанием названия кодировки.
Поддерживаемые названия кодировок:
Adobe-Standard-Encoding - не поддерживается в веб-клиенте,
Big5 - не поддерживается в веб-клиенте,
Big5-HKSCS - не поддерживается в веб-клиенте,
BOCU-1 - не поддерживается в веб-клиенте,
CESU-8 - не поддерживается в веб-клиенте,
cp1006 - не поддерживается в веб-клиенте,
cp1025 - не поддерживается в веб-клиенте,
cp1097 - не поддерживается в веб-клиенте,
cp1098 - не поддерживается в веб-клиенте,
cp1112 - не поддерживается в веб-клиенте,
cp1122 - не поддерживается в веб-клиенте,
cp1123 - не поддерживается в веб-клиенте,
cp1124 - не поддерживается в веб-клиенте,
cp1125 - не поддерживается в веб-клиенте,
cp1131 - не поддерживается в веб-клиенте,
cp1386 - не поддерживается в веб-клиенте,
cp33722 - не поддерживается в веб-клиенте,
cp437 - не поддерживается в веб-клиенте,
cp737 - не поддерживается в веб-клиенте,
cp775 - не поддерживается в веб-клиенте,
cp850 - не поддерживается в веб-клиенте,
cp851 - не поддерживается в веб-клиенте,
cp852 - не поддерживается в веб-клиенте,
cp855 - не поддерживается в веб-клиенте,
cp856 - не поддерживается в веб-клиенте,
cp857 - не поддерживается в веб-клиенте,
cp858 - не поддерживается в веб-клиенте,
cp860 - не поддерживается в веб-клиенте,
cp861 - не поддерживается в веб-клиенте,
cp862 - не поддерживается в веб-клиенте,
cp863 - не поддерживается в веб-клиенте,
cp864 - не поддерживается в веб-клиенте,
cp865 - не поддерживается в веб-клиенте,
cp866 - не поддерживается в веб-клиенте,
CP868 - не поддерживается в веб-клиенте,
cp869 - не поддерживается в веб-клиенте,
cp874
cp875 - не поддерживается в веб-клиенте,
cp922 - не поддерживается в веб-клиенте,
cp930 - не поддерживается в веб-клиенте,
cp932 - не поддерживается в веб-клиенте,
cp933 - не поддерживается в веб-клиенте,
cp935 - не поддерживается в веб-клиенте,
cp937 - не поддерживается в веб-клиенте,
cp939 - не поддерживается в веб-клиенте,
cp949 - не поддерживается в веб-клиенте,
cp949c - не поддерживается в веб-клиенте,
cp950 - не поддерживается в веб-клиенте,
cp964 - не поддерживается в веб-клиенте,
ebcdic-ar - не поддерживается в веб-клиенте,
ebcdic-de - не поддерживается в веб-клиенте,
ebcdic-dk - не поддерживается в веб-клиенте,
ebcdic-he - не поддерживается в веб-клиенте,
ebcdic-xml-us - не поддерживается в веб-клиенте.
EUC-JP - не поддерживается в веб-клиенте,
EUC-KR - не поддерживается в веб-клиенте,
GB_2312-80 - не поддерживается в веб-клиенте,
gb18030 - не поддерживается в веб-клиенте,
GB2312 - не поддерживается в веб-клиенте,
GBK - не поддерживается в веб-клиенте,
hp-roman8 - не поддерживается в веб-клиенте,
HZ-GB-2312 - не поддерживается в веб-клиенте,
ibm-1047_P100-1995,swaplfnl - не поддерживается в веб-клиенте,
ibm-1129 - не поддерживается в веб-клиенте,
ibm-1130 - не поддерживается в веб-клиенте,
ibm-1132 - не поддерживается в веб-клиенте,
ibm-1133 - не поддерживается в веб-клиенте,
ibm-1137 - не поддерживается в веб-клиенте,
ibm-1140_P100-1997,swaplfnl - не поддерживается в веб-клиенте,
ibm-1142_P100-1997,swaplfnl - не поддерживается в веб-клиенте,
ibm-1143_P100-1997,swaplfnl - не поддерживается в веб-клиенте,
ibm-1144_P100-1997,swaplfnl - не поддерживается в веб-клиенте,
ibm-1145_P100-1997,swaplfnl - не поддерживается в веб-клиенте,
ibm-1146_P100-1997,swaplfnl - не поддерживается в веб-клиенте,
ibm-1147_P100-1997,swaplfnl - не поддерживается в веб-клиенте,
ibm-1148_P100-1997,swaplfnl - не поддерживается в веб-клиенте,
ibm-1149_P100-1997,swaplfnl - не поддерживается в веб-клиенте,
ibm-1153 - не поддерживается в веб-клиенте,
ibm-1153_P100-1999,swaplfnl - не поддерживается в веб-клиенте,
ibm-1154 - не поддерживается в веб-клиенте,
ibm-1155 - не поддерживается в веб-клиенте,
ibm-1156 - не поддерживается в веб-клиенте,
ibm-1157 - не поддерживается в веб-клиенте,
ibm-1158 - не поддерживается в веб-клиенте,
ibm-1160 - не поддерживается в веб-клиенте,
ibm-1162 - не поддерживается в веб-клиенте,
ibm-1164 - не поддерживается в веб-клиенте,
ibm-12712_P100-1998,swaplfnl - не поддерживается в веб-клиенте,
ibm-1363 - не поддерживается в веб-клиенте,
ibm-1364 - не поддерживается в веб-клиенте,
ibm-1371 - не поддерживается в веб-клиенте,
ibm-1388 - не поддерживается в веб-клиенте,
ibm-1390 - не поддерживается в веб-клиенте,
ibm-1399 - не поддерживается в веб-клиенте,
ibm-16684 - не поддерживается в веб-клиенте,
ibm-16804_X110-1999,swaplfnl - не поддерживается в веб-клиенте,
ibm-37_P100-1995,swaplfnl - не поддерживается в веб-клиенте,
ibm-4899 - не поддерживается в веб-клиенте,
ibm-4909 - не поддерживается в веб-клиенте,
ibm-4971 - не поддерживается в веб-клиенте,
ibm-5123 - не поддерживается в веб-клиенте,
ibm-803 - не поддерживается в веб-клиенте,
ibm-8482 - не поддерживается в веб-клиенте,
ibm-867 - не поддерживается в веб-клиенте,
ibm-901 - не поддерживается в веб-клиенте,
ibm-902 - не поддерживается в веб-клиенте,
ibm-971 - не поддерживается в веб-клиенте,
IBM-Thai - не поддерживается в веб-клиенте,
IBM01140 - не поддерживается в веб-клиенте,
IBM01141 - не поддерживается в веб-клиенте,
IBM01142 - не поддерживается в веб-клиенте,
IBM01143 - не поддерживается в веб-клиенте,
IBM01144 - не поддерживается в веб-клиенте,
IBM01145 - не поддерживается в веб-клиенте,
IBM01146 - не поддерживается в веб-клиенте,
IBM01147 - не поддерживается в веб-клиенте,
IBM01148 - не поддерживается в веб-клиенте,
IBM01149 - не поддерживается в веб-клиенте,
IBM037 - не поддерживается в веб-клиенте,
IBM1026 - не поддерживается в веб-клиенте,
IBM1047 - не поддерживается в веб-клиенте,
IBM278 - не поддерживается в веб-клиенте,
IBM280 - не поддерживается в веб-клиенте,
IBM284 - не поддерживается в веб-клиенте,
IBM285 - не поддерживается в веб-клиенте,
IBM290 - не поддерживается в веб-клиенте,
IBM297 - не поддерживается в веб-клиенте,
IBM367 ,
IBM420 - не поддерживается в веб-клиенте,
IBM424 - не поддерживается в веб-клиенте,
IBM500 - не поддерживается в веб-клиенте,
IBM870 - не поддерживается в веб-клиенте,
IBM871 - не поддерживается в веб-клиенте,
IBM918 - не поддерживается в веб-клиенте,
IMAP-mailbox-name - не поддерживается в веб-клиенте,
ISO_2022,locale=ja,version=3 - не поддерживается в веб-клиенте,
ISO_2022,locale=ja,version=4 - не поддерживается в веб-клиенте,
ISO_2022,locale=ko,version=1 - не поддерживается в веб-клиенте,
ISO-2022-CN - не поддерживается в веб-клиенте,
ISO-2022-CN-EXT - не поддерживается в веб-клиенте,
ISO-2022-JP - не поддерживается в веб-клиенте,
ISO-2022-JP-2 - не поддерживается в веб-клиенте,
ISO-2022-KR - не поддерживается в веб-клиенте,
ISO-8859-1 ,
iso-8859-13 ,
iso-8859-15 ,
iso-8859-2 ,
iso-8859-3 ,
iso-8859-4 ,
iso-8859-5 ,
iso-8859-6 ,
iso-8859-7 ,
iso-8859-8 ,
iso-8859-9 ,
JIS_Encoding - не поддерживается в веб-клиенте,
KOI8-R ,
KOI8-U ,
KSC_5601 - не поддерживается в веб-клиенте,
LMBCS-1 - не поддерживается в веб-клиенте,
LMBCS-11 - не поддерживается в веб-клиенте,
LMBCS-16 - не поддерживается в веб-клиенте,
LMBCS-17 - не поддерживается в веб-клиенте,
LMBCS-18 - не поддерживается в веб-клиенте,
LMBCS-19 - не поддерживается в веб-клиенте,
LMBCS-2 - не поддерживается в веб-клиенте,
LMBCS-3 - не поддерживается в веб-клиенте,
LMBCS-4 - не поддерживается в веб-клиенте,
LMBCS-5 - не поддерживается в веб-клиенте,
LMBCS-6 - не поддерживается в веб-клиенте,
LMBCS-8 - не поддерживается в веб-клиенте,
macintosh ,
SCSU - не поддерживается в веб-клиенте,
Shift_JIS - не поддерживается в веб-клиенте,
UTF-16 ,
UTF-16BE ,
UTF-16LE ,
UTF-32 - не поддерживается в веб-клиенте,
UTF-32BE - не поддерживается в веб-клиенте,
UTF-32LE - не поддерживается в веб-клиенте,
UTF-7 - не поддерживается в веб-клиенте,
UTF-8 ,
UTF16_OppositeEndian - не поддерживается в веб-клиенте,
UTF16_PlatformEndian - не поддерживается в веб-клиенте,
UTF32_OppositeEndian - не поддерживается в веб-клиенте,
UTF32_PlatformEndian - не поддерживается в веб-клиенте,
windows-1250 - не поддерживается в веб-клиенте,
windows-1251 ,
windows-1252 ,
windows-1253 ,
windows-1254 ,
windows-1255 ,
windows-1256 ,
windows-1257 ,
windows-1258 ,
windows-57002 - не поддерживается в веб-клиенте,
windows-57003 - не поддерживается в веб-клиенте,
windows-57004 - не поддерживается в веб-клиенте,
windows-57005 - не поддерживается в веб-клиенте,
windows-57007 - не поддерживается в веб-клиенте,
windows-57008 - не поддерживается в веб-клиенте,
windows-57009 - не поддерживается в веб-клиенте,
windows-57010 - не поддерживается в веб-клиенте,
windows-57011 - не поддерживается в веб-клиенте,
windows-874 - не поддерживается в веб-клиенте,
windows-949 - не поддерживается в веб-клиенте,
windows-950 - не поддерживается в веб-клиенте,
x-mac-centraleurroman - не поддерживается в веб-клиенте,
x-mac-cyrillic ,
x-mac-greek - не поддерживается в веб-клиенте,
x-mac-turkish - не поддерживается в веб-клиенте,
Значение по умолчанию: UTF8.
<ПорядокБайтов> (необязательный)
Тип: ПорядокБайтов.
Порядок байтов, используемый для декодирования целых чисел при чтении из потока.
Значение по умолчанию: LittleEndian.
<РазделительСтрок> (необязательный)
Тип: Строка.
Строка, используемая в качестве разделителя строки в файле.
Значение по умолчанию: Неопределено.
<КонвертируемыйРазделительСтрок> (необязательный)
Тип: Строка.
Определяет разделение строк в файле для конвертации в стандартный перевод строк ПС.
Значение по умолчанию: ВК + ПС.
Описание:
Создает объект чтения из заданного файла.
При этом будет файл, указанный в параметре ИмяФайла, будет автоматически открыт на чтение.
Если файл с таким именем не существует, будет сгенерировано исключение.
После завершения работы с объектом ЧтениеДанных до того, как будет закрыт поток, переданный в конструктор, объект следует закрыть с помощью метода Закрыть или НачатьЗакрытие. При этом файл, указанный в параметре <ИмяФайла>, будет автоматически закрыт.
Использование в версии:
Доступен, начиная с версии 8.3.9.
Методическая информация
Практические примеры
Создать только свой временный текстовый файл и прочитать его конструкторами по имени
Отдельное упражнение для файловых перегрузок: уникальное имя, проверка отсутствия файла, запись двух строк, чтение и удаление именно созданного файла.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Отдельная учебная база; серверный фрагмент внутри ВыполнитьПример() Экспорт. Потребуется право создания файла во временном каталоге сервера/файлового режима.
Не заменяйте ПолучитьИмяВременногоФайла на путь своего существующего файла. Имена конфигурационных выгрузок и документов здесь не используются.
В отличие от упражнений в памяти этот пример действительно создаёт и затем удаляет ОДИН свой временный txt. Удалённый учебный файл не восстанавливается кодом.
Не запускайте одновременно несколько копий, вручную изменённых на одно и то же фиксированное имя.
ИмяФайла = ПолучитьИмяВременногоФайла("txt");
ПроверкаФайла = Новый Файл(ИмяФайла);
Если ПроверкаФайла.Существует() Тогда
ВызватьИсключение "Не перезаписываем существующий файл даже с учебным именем";
КонецЕсли;
Запись = Неопределено;
Чтение = Неопределено;
Попытка
Запись = Новый ЗаписьДанных(ИмяФайла, КодировкаТекста.UTF8, , Символы.ПС, Ложь, , Ложь);
Запись.ЗаписатьСтроку("Книга");
Запись.ЗаписатьСтроку("Ручка");
Запись.Закрыть();
Запись = Неопределено;
Чтение = Новый ЧтениеДанных(ИмяФайла, КодировкаТекста.UTF8, , Символы.ПС);
Сообщить(Чтение.ПрочитатьСтроку() = "Книга");
Сообщить(Чтение.ПрочитатьСтроку() = "Ручка");
Чтение.Закрыть();
Чтение = Неопределено;
УдалитьФайлы(ИмяФайла);
Исключение
Если Чтение <> Неопределено Тогда
Чтение.Закрыть();
КонецЕсли;
Если Запись <> Неопределено Тогда
Запись.Закрыть();
КонецЕсли;
// Имя получено для этой задачи и проверено как отсутствующее до создания.
Если ПроверкаФайла.Существует() Тогда
УдалитьФайлы(ИмяФайла);
КонецЕсли;
ВызватьИсключение;
КонецПопытки;
Сообщить(Не ПроверкаФайла.Существует());Разбор по шагам
Генерируем временное имя и отказываемся работать, если по нему уже есть файл.
Конструктор ЗаписьДанных с первым аргументом Строка открывает файл. Пятый аргумент Дописать=Ложь, поэтому защита от существующего файла важна.
Конструктор по имени владеет открытым файловым потоком. Закрыть завершает запись и закрывает вложенный файл.
Создаём ЧтениеДанных по тому же имени, читаем две строки в UTF-8 и закрываем его до удаления файла.
УдалитьФайлы вызывается с точным уникальным именем, без маски и без каталога. Последняя проверка подтверждает отсутствие своего файла.
Как проверить результат
Три сообщения Истина: восстановлены Книга/Ручка и свой временный файл удалён.
Нет ни перезаписи рабочего файла, ни удаления других файлов каталога.
Ожидаемый результат
Обе файловые перегрузки конструктора показаны на управляемом собственном временном файле.
На что обратить внимание
На сервере путь относится к серверной машине, не обязательно к рабочему столу пользователя.
При аварийном завершении процесса cleanup не выполняется и учебный временный файл может остаться.
Удалять каталог временных файлов целиком ради уборки этого упражнения нельзя.
Ошибки прав доступа/закрытия файлов возможны и должны проверяться отдельно в вашей среде.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.