|
Открыть текстовый файл на чтение-запись без конвертации разделителя строк |
☑ |
0
camojiet
22.06.17
✎
12:47
|
Здравствуйте.
Методы ЧтениеТекста и ТекстовыйДокумент.Прочитать преобразуют разделители строк разных типов (CR,LF,CRLF) в Символы.ПС. Мне нужно чтобы 1С не трогала разделители. Мне нужно получить строкой файл так, как он есть. (Файл со смешанными переносами).
Может сталкивался кто? Стоит ли копать в ДвоичныеДанные, Потоки и т.д. ?
Нужно прочитать такой файл, внести изменения и записать.
|
|
1
Chum
22.06.17
✎
12:50
|
открыть файлик блокнотом?
|
|
2
mehfk
22.06.17
✎
12:53
|
(0) Писать в конец файла будешь?
|
|
3
camojiet
22.06.17
✎
12:54
|
(1) Блокнотом - всё отлично
(2) Нет... увы... Причем количество строк в итоге тоже поменяется
|
|
4
mehfk
22.06.17
✎
13:01
|
(3) Тогда это не текстовый файл.
|
|
5
kuzyara
22.06.17
✎
13:12
|
ISO-8859-1
|
|
6
camojiet
22.06.17
✎
13:17
|
Простите за беспокойство, я ошибся по поводу того, что мне нужен смешанный перенос. Программу устроил Символы.ПС. (по умолчанию ВК+ПС).
(4) Да. У меня попытка изменить PDF. Нужно отыскать определенные данные и изменить их на другие. (Не просто заменить какой-то символ на другой).
Из внешних утиль подходит Pdfedit - но на винде на нем не запускаются скрипты. Вариант делать через ssh, но он ещё мрачнее. Преобразовалки всякие - пукалки стрелялки - не позволяют прочитать как что-то структурированное произвести изменения и записать обратно как было.
В блокноте получилось(правда как выяснилось не всё), пытаюсь нарисовать алгоритм в 1С.
(5) Спасибо.
|
|
7
kuzyara
22.06.17
✎
13:17
|
// ТекстФайла -> ДД
ИмяВремФайла = ПолучитьИмяВременногоФайла(".rpb");
ТекстПостроитель = Новый ЗаписьXML;
ТекстПостроитель.ОткрытьФайл(ИмяВремФайла,"ISO-8859-1");
ТекстПостроитель.ЗаписатьБезОбработки(ТекстФайла); // #13#10 !
ТекстПостроитель.Закрыть();
ДвоичныеДанныеФайла = Новый ДвоичныеДанные(ИмяВремФайла);
УдалитьФайлы(ИмяВремФайла);
Возврат ДвоичныеДанныеФайла;
КонецФункции
Функция ПолучитьМассивПолезныхБайтИзФайлаRPB(ДвоичныеДанныеФайла)
// ДД -> ТекстФайла
ИмяВремФайла = ПолучитьИмяВременногоФайла(".rpb");
ДвоичныеДанныеФайла.Записать(ИмяВремФайла);
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.Прочитать(ИмяВремФайла, "ISO-8859-1", "");
ТекстФайла = ТекстовыйДокумент.ПолучитьТекст();
УдалитьФайлы(ИмяВремФайла);
|
|
8
camojiet
22.06.17
✎
13:21
|
(7) Вам тоже спасибо. Может пригодится.
|
|