Link Search Menu Expand Document

Файлы

Тип-одиночка
Стд::ВводВывод::Файлы::Файлы
Базовые типы: Объект

Иерархия типа

graph BT;
Файлы-->Объект;

Предназначен для работы с файлами. Содержит базовые действия над файлами как над объектами.

Сравнение ссылочное


Свойства

СимволРазделителя

ТолькоЧтение СимволРазделителя: Строка

Разделитель, используемый для разделения каталогов. Символ зависит от используемой операционной системы:

  • Windows - "\",
  • Linux - "/",
  • macOS - "/".

Методы

КаталогПустой

КаталогПустой(Путь: Файл|Строка): Булево?

Определяет, является ли каталог Путь пустым.

Исключения

ИсключениеДоступаКФайлу - если недостаточно прав на чтение Путь.

ИсключениеНедопустимыйАргумент - указан некорректный путь.


Найти

Осуществляет поиск ссылок, файлов и каталогов по заданным критериям поиска НастройкиПоиска в указанном каталоге Путь. Возвращает результат поиска или пустой список, если Путь не является каталогом.

Исключения

ИсключениеФайловойСистемы - если каталог Путь не существует.

ИсключениеНедопустимыйАргумент - указан некорректный путь.

Примеры

метод Найти(): ЧитаемыйМассив<Файл>
    // Поиск файлов с расширением txt и размером от 100 кб, которые были созданы за последний час
    знч НастройкиПоиска = новый НастройкиПоискаФайлов()
    НастройкиПоиска
        .ИмяСодержит(".txt")
        .Создано(Момент.Сейчас() - , Момент.Сейчас())
        .Размер(100кб)
    
    возврат Файлы.Найти("C:/Folder", НастройкиПоиска)
;

Переименовать

Переименовать(
  Путь: Файл|Строка,
  НовоеИмя: Строка
): Файл

Устанавливает новое имя НовоеИмя файлу Путь. Возвращает файл с новым именем.

Исключения

ИсключениеФайловойСистемы - если файл Путь не найден или файл с именем НовоеИмя уже существует.

ИсключениеДоступаКФайлу - если у текущего пользователя недостаточно прав на чтение Путь или у текущего пользователя недостаточно прав на запись НовоеИмя.

ИсключениеНедопустимыйАргумент - указан некорректный путь.

Примеры

метод Переименовать()
    знч Файл = Файлы.Создать(новый Файл("test.txt", Файлы.ПолучитьДомашнийКаталог()))
    знч ПереименованныйФайл = Файлы.Переименовать(Файл, "newname.txt")
    
    знч Каталог = Файлы.СоздатьКаталог(новый Файл("Folder", Файлы.ПолучитьДомашнийКаталог()))
    знч ПереименованныйКаталог = Файлы.Переименовать(Каталог, "NewNameFolder")
;

Переместить

Переместить(
  Источник: Файл|Строка,
  Цель: Файл|Строка,
  НастройкиКопирования: НастройкиКопированияФайлов
): Файл

Перемещает исходный файл Источник в целевой файл Цель с указанными настройками копирования НастройкиКопирования. Создает недостающие каталоги по целевому пути. Возвращает перемещенный файл.

Исключения

ИсключениеФайловойСистемы - если файл Источник не найден или файл Цель уже существует (за исключением копирования с пропуском существующих в [НастройкиКопирования])

ИсключениеНедопустимыйАргумент - указан некорректный путь.

ИсключениеДоступаКФайлу - в случаях: * если недостаточно прав на запись Источник или недостаточно прав на запись в Цель, * если Цель является не пустым каталогом, * если Цель является каталогом и при выключенном параметре пропуска дочерних в [НастройкиКопирования], у текущего пользователя недостаточно прав на запись всех дочерних файлов.


ПолучитьДомашнийКаталог

ПолучитьДомашнийКаталог(): Файл

Возвращает домашний каталог пользователя.


Скопировать

Скопировать(
  Источник: Файл|Строка,
  Цель: Файл|Строка,
  НастройкиКопирования: НастройкиКопированияФайлов
): Файл

Копирует файл Источник в файл Цель, используя настройки НастройкиКопирования. Создает недостающие каталоги по целевому пути.

Исключения

ИсключениеФайловойСистемы - если файл Источник не найден или файл с именем Цель уже существует (за исключением копирования с пропуском существующих в [НастройкиКопирования]).

ИсключениеНедопустимыйАргумент - указан некорректный путь.

ИсключениеДоступаКФайлу - в следующих случаях: * у текущего пользователя недостаточно прав на чтение Источник, * у текущего пользователя недостаточно прав на чтение или запись Цель, * Цель является символической ссылкой (за исключением случая, когда в Источник и Цель указан один и тот же файл), * Цель является непустым каталогом, * Цель является каталогом и при выключенном параметре пропуска дочерних в [НастройкиКопирования] у текущего пользователя нет прав на чтение и запись иерархии элементов.

Примеры

метод СкопироватьФайл()
    // Объект существующего файла-источника с именем test.txt в домашнем каталоге
    знч ФайлИсточник = новый Файл("test.txt", Файлы.ПолучитьДомашнийКаталог())
    // Объект файл-назначения с именем testTarget.txt в каталоге C:/TargetFolder.
    // Если каталог не существует, он будет создан
    знч ФайлЦель = новый Файл("testTarget.txt", "C:/TargetFolder/")
    
    // Настройки копирования для перезаписи существующего файла в целевом каталоге
    знч НастройкиКопирования = новый НастройкиКопированияФайлов()
	НастройкиКопирования.ПропускатьСуществующие(Ложь)
	
	Файлы.Скопировать(ФайлИсточник, ФайлЦель, НастройкиКопирования)
;

метод СкопироватьКаталог()
    // Объект каталога-источника, откуда будет скопировано все его дочерние файлы и каталоги
    знч КаталогИсточник = новый Файл("C:/SourceFolder")
    // Объект каталога-назначения, будет создан, если не существует
    знч КаталогЦель = новый Файл("C:/TargetFolder/")
    	
	// При копировании будет выброшено исключение, если в целевом каталоге уже есть копируемый файл
	Файлы.Скопировать(КаталогИсточник, КаталогЦель)
;

Создать

Создать(Файл: Файл|Строка): Файл

Создает файл в файловой системе на основе переданного объекта или пути Файл. Создание происходит с рекурсивным созданием недостающих родительских каталогов (если их еще не было в файловой системе).

Исключения

ИсключениеФайловойСистемы - если файл Файл уже существует,

ИсключениеДоступаКФайлу - если у текущего пользователя недостаточно прав на запись нового файла.

ИсключениеНедопустимыйАргумент - указан некорректный путь.

Примеры

метод СоздатьФайл()
    // Создание пустого файла с именем test.txt в целевом каталоге, несуществующие каталоги в пути будут созданы
    знч Файл = Файлы.Создать(новый Файл("test.txt", "C:/TargetFolder/ChildFolder"))
    // Работа с файлом
;

СоздатьВременныйКаталог

СоздатьВременныйКаталог(
  Префикс: Строка = "",
  УдалитьПослеОкончанияРаботы: Булево = Истина
): Файл

Создает и возвращает временный каталог во временном каталоге файловой системой. Имя каталога генерируется автоматически, с префиксом Префикс. УдалитьПослеОкончанияРаботы - опция автоматического удаления каталога после окончания работы процесса.

Примеры

метод СоздатьВременныйКаталог()
    знч ВременныйКаталог = Файлы.СоздатьВременныйКаталог("MyTempFolder")
;

СоздатьВременныйФайл

СоздатьВременныйФайл(
  Префикс: Строка = "",
  Суффикс: Строка = ".tmp",
  УдалитьПослеОкончанияРаботы: Булево = Истина
): Файл

Создает и возвращает временный файл во временном каталоге файловой системы. Имя каталога генерируется автоматически, с префиксом Префикс и суффиксом Суффикс. УдалитьПослеОкончанияРаботы - опция автоматического удаления каталога после окончания работы процесса.

Примеры

метод СоздатьВременныйФайл()
    знч ВременныйФайл = Файлы.СоздатьВременныйФайл("MyFile", "temp")
;

СоздатьКаталог

СоздатьКаталог(Файл: Файл|Строка): Файл

Создает каталог в файловой системе на основе переданного объекта или пути Файл. Автоматически создает недостающие каталоги в иерархии (если таковые имеются).

Исключения

ИсключениеФайловойСистемы - если файл уже существует, но не является каталогом.

ИсключениеДоступаКФайлу - у текущего пользователя недостаточно прав на запись нового каталога.

ИсключениеНедопустимыйАргумент - указан некорректный путь.

Примеры

метод СоздатьКаталог()
    // Создание каталога, несуществующие каталоги в пути будут созданы
    знч Каталог = Файлы.СоздатьКаталог("C:/TargetFolder/ChildFolder")
    // Работа с каталогом
;

Удалить

Удалить(
  Путь: Файл|Строка,
  ТихийРежим: Булево = Ложь)

Удалить файл Путь. ТихийРежим - выключает выбрасывание исключений ИсключениеДоступаКФайлу.

Исключения

ИсключениеФайловойСистемы - если файл Путь не найден.

ИсключениеДоступаКФайлу - если недостаточно прав на запись Путь и параметр IsQuiet отключен.

ИсключениеНедопустимыйАргумент - указан некорректный путь.

Примеры

метод Удалить()
    знч Файл = Файлы.Создать(новый Файл("test.txt", "C:/Folder/ChildFolder"))
    Файлы.Удалить(Файл)
    
    попытка
        Файлы.Удалить(Файл)
    поймать И: ИсключениеФайловойСистемы
        // Файл не найден
    ;

    // Удаление без выбрасывания исключений
    Файлы.Удалить("C:/Folder/UnknownFolder", Истина)
;

Список унаследованных методов

Объект