2025-03-17 23:18:44 +03:00

5.6 KiB
Raw Blame History

Библиотека file

Библиотека функций для работы с файлами

file.resolve(путь: str) -> str

Функция приводит запись точкахода:путь (например user:worlds/house1) к обычному пути. (например C://Users/user/.voxeng/worlds/house1)

Note

Функцию не нужно использовать в сочетании с другими функциями из библиотеки, так как они делают это автоматически

Возвращаемый путь не является каноническим и может быть как абсолютным, так и относительным.

file.read(путь: str) -> str

Читает весь текстовый файл и возвращает в виде строки

file.read_bytes(путь: str) -> array of integers

Читает файл в массив байт.

file.is_writeable(путь: str) -> bool

Проверяет, доступно ли право записи по указанному пути.

file.write(путь: str, текст: str) -> nil

Записывает текст в файл (с перезаписью)

file.write_bytes(путь: str, data: array of integers)

Записывает массив байт в файл (с перезаписью)

file.length(путь: str) -> int

Возвращает размер файла в байтах, либо -1, если файл не найден

file.exists(путь: str) -> bool

Проверяет, существует ли по данному пути файл или директория

file.isfile(путь: str) -> bool

Проверяет, существует ли по данному пути файл

file.isdir(путь: str) -> bool

Проверяет, существует ли по данному пути директория

file.mkdir(путь: str) -> bool

Создает директорию. Возвращает true если была создана новая директория

file.mkdirs(путь: str) -> bool

Создает всю цепочку директорий. Возвращает true если были созданы директории.

file.list(путь: str) -> массив строк

Возвращает список файлов и директорий в указанной.

file.list_all_res(путь: str) -> массив строк

Возвращает список файлов и директорий в указанной без указания конкретной точки входа.

file.find(путь: str) -> str

Ищет файл от последнего пака до res. Путь указывается без префикса. Возвращает путь с нужным префиксом. Если файл не найден, возвращает nil.

file.remove(путь: str) -> bool

Удаляет файл. Возращает true если файл существовал. Бросает исключение при нарушении доступа.

file.remove_tree(путь: str) -> int

Рекурсивно удаляет файлы. Возвращает число удаленных файлов.

file.read_combined_list(путь: str) -> массив

Совмещает массивы из JSON файлов разных паков.

file.read_combined_object(путь: str) -> массив

Совмещает объекты из JSON файлов разных паков.

file.mount(путь: str) --> str

Монтирует ZIP-архив как файловой системе. Возвращает имя точки входа.

file.unmount(точкахода: str) --> str

Размонтирует точку входа.

file.create_zip(директория: str, выходнойайл: str) --> str

Создаёт ZIP-архив из содержимого указанной директории.

file.name(путь: str) --> str

Извлекает имя файла из пути. Пример: world:data/base/config.toml -> config.toml.

file.stem(путь: str) --> str

Извлекает имя файла из пути, удаляя расширение. Пример: world:data/base/config.toml -> config.

file.ext(путь: str) --> str

Извлекает расширение из пути. Пример: world:data/base/config.toml -> toml.

file.prefix(путь: str) --> str

Извлекает точку входа (префикс) из пути. Пример: world:data/base/config.toml -> world.

file.parent(путь: str) --> str

Возвращает путь на уровень выше. Пример: world:data/base/config.toml -> world:data/base

file.path(путь: str) --> str

Убирает точку входа (префикс) из пути. Пример: world:data/base/config.toml -> data/base/config.toml

file.join(директория: str, путь: str) --> str

Соединяет путь. Пример: file.join("world:data", "base/config.toml) -> world:data/base/config.toml.

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