Записать текстовый файл без BOM

Для тех кому нужно записать текстовый файл без BOM-раздела. Основная суть в записи через файловый поток

ПутьФайла = ПолучитьИмяВременногоФайла();

СтрокаТекста = "текст";

ТекстовыйФайл = Новый ТекстовыйДокумент;
ТекстовыйФайл.УстановитьТекст(СтрокаТекста);		
ТекстовыйФайл.Записать(ПутьФайла, КодировкаТекста.UTF8, Символы.ПС);

ФайловыйПоток = Новый ФайловыйПоток(ПутьФайла,РежимОткрытияФайла.Создать);
ТекстовыйФайл.Записать(ФайловыйПоток,КодировкаТекста.UTF8, Символы.ПС, Ложь);

ФайловыйПоток.Закрыть();
FastCode Professional - быстрый поиск кода 1С

Комментарии

Андрей Л.
#1, 01 апреля 2020 21:04

Файл = Новый ТекстовыйДокумент;
Файл.ВставитьСтроку("Текст");
Файл.Записать(Путь, "CESU-8", Символы.ПС);

UTF8 без BOM - это CESU-8

Почерпнуто из комментариев на инфорстарте.


Эльдар Мингалиев
#2, ред. 01 апреля 2020 21:45

(1) Андрей Л., вроде на мисте и инфостарте так же были комментарии, что cesu не всегда прокатывает. Мой коллега предложил этот вариант как замену использования более надежного чем cesu метода через ADODB.Stream, потому я выложил этот вариант.


Андрей Л.
#3, 01 апреля 2020 23:32

(2) Эльдар Мингалиев, нисколько не умаляю предложенный Вами вариант.
И CESU-8 не требует ADODB.Stream...


Эльдар Мингалиев
#4, 02 апреля 2020 07:45

(3) Андрей Л., я и не сказал что требует) я сказал что метод через ado более надежен чем cesu)


Похожие публикации

Записать текст в файл

Модератору