Метод ТИП_ФАЙЛ.ЗАПИСАТЬ_ПАРАМ
Метод ЗАПИСАТЬ_ПАРАМ записывает одну или несколько строк файла. Данные для записи берутся из строки или списка. Режим записи определяется задаными параметрами.
ФУНКЦИЯ ЗАПИСАТЬ_ПАРАМ(ТИП_СТРОКА: парам; ТИП_СТРОКА или ТИП_СПИСОК: данные)
Параметры
- парам
-
Параметры записи данных в файл. Параметры в строке разделяются точкой с запятой.
- "NOEOL" – не добавлять символы конца строки CR LF (ASCII 13 10) после записи данных (EOL - End Of Line). По умолчанию эти символы добавляются. В самих данных (как в середине, так и в конце) могут содержаться символы CR и LF (СИМВ(13) и СИМВ(10)). Такие символы записываются в файл как есть.
- "DELIM:..." – позволяет указать разделитель при слиянии строк списка. Используется только при представлении данных в виде объекта "список". По умолчанию разделитель пустая строка, т.е. строки списка "склеиваются" без разделителя. Например, для записи каждой строки списка как отдельной строки в файле можно указать разделителем символы CR LF: "DELIM:"+СИМВ(13)+СИМВ(10).
- данные
- Строковое значение или объект типа список, содержащий данные для записи в файл.
Замечание 1
Вызов ЗАПИСАТЬ_ПАРАМ("", стр), где стр является строкой, эквивалентен вызову метода ЗАПИСАТЬ(стр).
Замечание 2
Вызов ЗАПИСАТЬ_ПАРАМ("", сп), где сп является списком, эквивалентен вызову метода сп.ЗАПИСАТЬ(файл, ДА).
Пример использования 1
Считывание и сохранение без потерь.
файл = "long_utf8.txt" кодировка = "UTF-8" СОЗДАТЬ(сп, ТИП_СПИСОК) ф = ФАЙЛ_ОТКРЫТЬ(файл, кодировка) // считываем все содержимое исходного файла // с переносом по строкам и сохранением концов строк (EOL) ф.СЧИТАТЬ_ПАРАМ("ALL;WRAP;EOL", сп) // показываем считанный список в окне отладки ЦИКЛ ДЛЯ (и=1, сп.ВСЕГО) ОТЛАДКА(сп.СТРОКА(и)) КОНЕЦ_ЦИКЛА // создаем новый файл ф2 = ФАЙЛ_СОЗДАТЬ("new_" + файл, кодировка) // записываем список без завершающего конца строки ф2.ЗАПИСАТЬ_ПАРАМ("NOEOL", сп) // получаем файл идентичный исходному
Пример использования 2
Сохранение списка с разделителем строк LF (ASCII 10), как это принято в Unix-подобных системах.
// заполняем список данными СОЗДАТЬ(сп, ТИП_СПИСОК) сп.ДОБАВИТЬ("Строка 1") сп.ДОБАВИТЬ("Строка 22") сп.ДОБАВИТЬ("Строка 333") // создаем новый файл ф = ФАЙЛ_СОЗДАТЬ("test.txt", "UTF-8.NoBOM") // записываем список без завершающего конца строки (CRLF) ф.ЗАПИСАТЬ_ПАРАМ("DELIM:" + СИМВ(10) + ";NOEOL", сп)