Перейти к основному содержимому

Файлы

Стд::ВводВывод::Файлы::Файлы Тип-одиночка

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

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

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

Базовые типы: Объект, Одиночка


Свойства

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

ТолькоЧтение

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

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

  • 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", Истина)
;

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

Объект

ВСтроку, ПолучитьТип, Представление