--- title: Чтение TXT, CSV slug: общие-обмен-данными-чтение-файлов-примеры/чтение-txt-csv --- ## Вариант с ЧтениеТекста ```bsl &НаКлиенте Асинх Процедура ПрочитатьФайл(Команда) Расширение = "txt"; ПараметрыДиалога = Новый ПараметрыДиалогаПомещенияФайлов; ПараметрыДиалога.Заголовок = "Выберите файл"; ПараметрыДиалога.Фильтр = ФильтрПоРасширению(Расширение); ОписаниеФайла = Ждать ПоместитьФайлНаСерверАсинх(,,,ПараметрыДиалога); Если ОписаниеФайла = Неопределено Тогда Возврат; КонецЕсли; АдресДанных = ОписаниеФайла.Адрес; Расширение = ОписаниеФайла.СсылкаНаФайл.Файл.Расширение; ПрочитатьФайлНаСервере(АдресДанных, Расширение); КонецПроцедуры &НаСервере Процедура ПрочитатьФайлНаСервере(АдресДанных, Расширение) ПутьКФайлу = ПолучитьИмяВременногоФайла(Расширение); ДанныеФайла = ПолучитьИзВременногоХранилища(АдресДанных); ДанныеФайла.Записать(ПутьКФайлу); Текст = Новый ЧтениеТекста; Текст.Открыть(ПутьКФайлу, КодировкаТекста.UTF8); ТекСтрока = Текст.ПрочитатьСтроку(); НомерСтроки = 1; Пока ТекСтрока <> Неопределено Цикл // обработка ТекСтрока = Текст.ПрочитатьСтроку(); НомерСтроки = НомерСтроки + 1; КонецЦикла; Текст.Закрыть(); УдалитьФайлы(ПутьКФайлу); КонецПроцедуры ``` ## Вариант с ТекстовыйДокумент ```bsl &НаКлиенте Асинх Процедура ПрочитатьФайл(Команда) Текст = Новый ТекстовыйДокумент; Оповещение = Новый ОписаниеОповещения("ПрочитатьФайлЗавершение", ЭтотОбъект, Текст); Текст.НачатьЧтение(Оповещение, Объект.ПутьКФайлу, КодировкаТекста.UTF8); КонецПроцедуры &НаКлиенте Процедура ПрочитатьФайлЗавершение(Текст) Экспорт КоличествоСтрок = Текст.КоличествоСтрок(); Для НомерСтроки = 1 По КоличествоСтрок Цикл ТекСтрока = Текст.ПолучитьСтроку(НомерСтроки); // Обработка КонецЦикла; КонецПроцедуры ```