An open API service indexing awesome lists of open source software.

https://github.com/oscript-library/tempfiles

Работа с временными файлами
https://github.com/oscript-library/tempfiles

Last synced: about 1 month ago
JSON representation

Работа с временными файлами

Awesome Lists containing this project

README

          

# Работа с временными файлами

Позволяет удобно управлять созданием и удалением временных файлов.

## API

Для обращения к методам модуля используется свойство глобального контекста **ВременныеФайлы**, например:

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

|Метод|Описание
|----|----|
|``НовоеИмяФайла(Расширение = "tmp")`` | генерирует уникальное имя, по которому можно создать временный файл
|``СоздатьФайл(Расширение = "tmp")`` | создает файл во временном каталоге системы, возвращает путь
|``СоздатьКаталог(Расширение = "tmp")`` | создает каталог во временном каталоге системы, возвращает путь
|``Удалить()`` | удаляет все ранее созданные файлы и каталоги
|``УдалитьФайл(Путь)`` | удаляет указанный файл/каталог. Если у файла указан файловый атрибут "только для чтения", перед удалением происходит попытка снять этот атрибут.
|``БезопасноУдалитьФайл(Путь)`` | удаляет указанный файл полностью аналогично методу `УдалитьФайл`
|``Файлы()`` | возвращает массив с путями ко всем временным файлам
|``УдалитьНакопленныеВременныеФайлы(ВременныеФайлыДо)`` | удаляются все накопленные временные файлы, которые были добавлены после фиксации набора временных файлов с помощью метода `Файлы`

## Собственный менеджер

Все временные файлы управляются классом `МенеджерВременныхФайлов`. Один экземпляр этого класса библиотека tempfiles создает автоматически и регистрирует его, как глобальное свойство `ВременныеФайлы`.

Если вы хотите создать отдельный перечень автоматически управляемых временных файлов - вы можете создать свой объект временных файлов с помощью конструкции Новый.

```bsl
#Использовать tempfiles

Сообщить(ТипЗнч(ВременныеФайлы)); //Глобальный менеджер временных файлов, представленный глобальным свойством ВременныеФайлы

МоиВременные = Новый МенеджерВременныхФайлов();
Сообщить(ТипЗнч(МоиВременные)); // собственный список временных файлов

// при выполнении будет выведено:
// МенеджерВременныхФайлов
// МенеджерВременныхФайлов
```

### Использование

```bsl
ВремФайл = ВременныеФайлы.СоздатьФайл();
МойМенеджер = Новый МенеджерВременныхФайлов();
ВремФайлОтдельный = МойМенеджер.СоздатьФайл();

ВременныеФайлы.Удалить(); // все файлы, созданные менеджером ВременныеФайлы - удалены. Файл менеджера МойМенеджер - не тронут.
МойМенеджер.Удалить(); // все файлы, созданные менеджером МойМенеджер - удалены. Файл менеджера ВременныеФайлы, и всех прочих менеджеров - не тронуты.
```