Файловая система
API файловой системы для работы с файлами, каталогами и метаданными файлов. Включает функции для чтения, записи и обработки путей к файлам.
Например: Deno.readDir, Deno.readTextFile
класс Deno.FsFile
Абстракция Deno для чтения и записи файлов.
Это самый простой способ работы с файлами в Deno, который рекомендуется вместо использования отдельных функций пространства имён Deno.
using file = await Deno.open("/foo/bar.txt", { read: true });
const fileInfo = await file.stat();
if (fileInfo.isFile) {
const buf = new Uint8Array(100);
const numberOfBytesRead = await file.read(buf); // 11 bytes
const text = new TextDecoder().decode(buf); // "hello world"
}
Свойства
readable: ReadableStream<Uint8Array<ArrayBuffer>> Экземпляр ReadableStream, представляющий байтовое содержимое файла. Это упрощает взаимодействие с другими API на основе веб-потоков.
using file = await Deno.open("my_file.txt", { read: true });
const decoder = new TextDecoder();
for await (const chunk of file.readable) {
console.log(decoder.decode(chunk));
}
Обратите внимание, что поток для чтения получает владение файлом: чтение потока до конца (или его отмена) автоматически закрывает файл, поэтому не следует закрывать файл самостоятельно, пока поток ещё используется.
writable: WritableStream<Uint8Array<ArrayBufferLike>> Экземпляр WritableStream для записи содержимого файла. Это упрощает взаимодействие с другими API на основе веб-потоков.
const items = ["hello", "world"];
using file = await Deno.open("my_file.txt", { write: true });
const encoder = new TextEncoder();
const writer = file.writable.getWriter();
for (const item of items) {
await writer.write(encoder.encode(item));
}
Обратите внимание, что поток для записи получает владение файлом: закрытие или прерывание потока автоматически закрывает файл, поэтому не следует закрывать файл самостоятельно, пока поток используется.
Методы
[Symbol.dispose](): void close(): void Закрывает файл. Важно закрывать файл после завершения работы с ним, чтобы не допустить утечки ресурсов.
using file = await Deno.open("my_file.txt");
// do work with "file" object
isTerminal(): boolean Проверяет, является ли файловый ресурс TTY (терминалом).
// This example is system and context specific
using file = await Deno.open("/dev/tty6");
file.isTerminal(); // true
lock(exclusive?: boolean): Promise<void> Получает рекомендательную блокировку файловой системы для файла.
lockSync(exclusive?: boolean): void Синхронно получает рекомендательную блокировку файловой системы для файла.
read(p: Uint8Array): Promise<number | null> Считывает файл в буфер массива (p).
Возвращает количество байтов, считанных во время операции, либо EOF (null), если больше нечего считывать.
Операция чтения может успешно завершиться, вернув 0 байтов. Это не означает достижение EOF.
Не гарантируется, что весь буфер будет считан за один вызов.
// if "/foo/bar.txt" contains the text "hello world":
using file = await Deno.open("/foo/bar.txt");
const buf = new Uint8Array(100);
const numberOfBytesRead = await file.read(buf); // 11 bytes
const text = new TextDecoder().decode(buf); // "hello world"
readSync(p: Uint8Array): number | null Синхронно считывает файл в буфер массива (p).
Возвращает количество байтов, считанных во время операции, либо EOF (null), если больше нечего считывать.
Операция чтения может успешно завершиться, вернув 0 байтов. Это не означает достижение EOF.
Не гарантируется, что весь буфер будет считан за один вызов.
// if "/foo/bar.txt" contains the text "hello world":
using file = Deno.openSync("/foo/bar.txt");
const buf = new Uint8Array(100);
const numberOfBytesRead = file.readSync(buf); // 11 bytes
const text = new TextDecoder().decode(buf); // "hello world"
Переходит к заданному offset в режиме, заданном параметром whence. Вызов возвращает новую позицию в ресурсе (в байтах от начала).
// Given the file contains "Hello world" text, which is 11 bytes long:
using file = await Deno.open(
"hello.txt",
{ read: true, write: true, truncate: true, create: true },
);
await file.write(new TextEncoder().encode("Hello world"));
// advance cursor 6 bytes
const cursorPosition = await file.seek(6, Deno.SeekMode.Start);
console.log(cursorPosition); // 6
const buf = new Uint8Array(100);
await file.read(buf);
console.log(new TextDecoder().decode(buf)); // "world"
Режимы перемещения работают следующим образом:
// Given the file contains "Hello world" text, which is 11 bytes long:
const file = await Deno.open(
"hello.txt",
{ read: true, write: true, truncate: true, create: true },
);
await file.write(new TextEncoder().encode("Hello world"));
// Seek 6 bytes from the start of the file
console.log(await file.seek(6, Deno.SeekMode.Start)); // "6"
// Seek 2 more bytes from the current position
console.log(await file.seek(2, Deno.SeekMode.Current)); // "8"
// Seek backwards 2 bytes from the end of the file
console.log(await file.seek(-2, Deno.SeekMode.End)); // "9" (i.e. 11-2)
Синхронно переходит к заданному offset в режиме, заданном параметром whence. Возвращает новую позицию в ресурсе (в байтах от начала).
using file = Deno.openSync(
"hello.txt",
{ read: true, write: true, truncate: true, create: true },
);
file.writeSync(new TextEncoder().encode("Hello world"));
// advance cursor 6 bytes
const cursorPosition = file.seekSync(6, Deno.SeekMode.Start);
console.log(cursorPosition); // 6
const buf = new Uint8Array(100);
file.readSync(buf);
console.log(new TextDecoder().decode(buf)); // "world"
Режимы перемещения работают следующим образом:
// Given the file contains "Hello world" text, which is 11 bytes long:
using file = Deno.openSync(
"hello.txt",
{ read: true, write: true, truncate: true, create: true },
);
file.writeSync(new TextEncoder().encode("Hello world"));
// Seek 6 bytes from the start of the file
console.log(file.seekSync(6, Deno.SeekMode.Start)); // "6"
// Seek 2 more bytes from the current position
console.log(file.seekSync(2, Deno.SeekMode.Current)); // "8"
// Seek backwards 2 bytes from the end of the file
console.log(file.seekSync(-2, Deno.SeekMode.End)); // "9" (i.e. 11-2)
setRaw(
mode: boolean,
options?: SetRawOptions,
): void Включает или отключает необработанный режим TTY. В необработанном режиме символы считываются и возвращаются без обработки. Вся специальная обработка символов терминалом отключается, в том числе отображение вводимых символов. Чтение с устройства TTY в необработанном режиме выполняется быстрее, чем в каноническом режиме.
using file = await Deno.open("/dev/tty6");
file.setRaw(true, { cbreak: true });
Возвращает Deno.FileInfo для файла.
import { assert } from "jsr:@std/assert";
using file = await Deno.open("hello.txt");
const fileInfo = await file.stat();
assert(fileInfo.isFile);
Синхронно возвращает Deno.FileInfo для файла.
import { assert } from "jsr:@std/assert";
using file = Deno.openSync("hello.txt")
const fileInfo = file.statSync();
assert(fileInfo.isFile);
sync(): Promise<void> Сбрасывает все ожидающие выполнения операции с данными и метаданными указанного файлового потока на диск.
const file = await Deno.open(
"my_file.txt",
{ read: true, write: true, create: true },
);
await file.write(new TextEncoder().encode("Hello World"));
await file.truncate(1);
await file.sync();
console.log(await Deno.readTextFile("my_file.txt")); // H
syncData(): Promise<void> Сбрасывает все ожидающие выполнения операции с данными указанного файлового потока на диск.
using file = await Deno.open(
"my_file.txt",
{ read: true, write: true, create: true },
);
await file.write(new TextEncoder().encode("Hello World"));
await file.syncData();
console.log(await Deno.readTextFile("my_file.txt")); // Hello World
syncDataSync(): void Синхронно сбрасывает все ожидающие выполнения операции с данными указанного файлового потока на диск.
using file = Deno.openSync(
"my_file.txt",
{ read: true, write: true, create: true },
);
file.writeSync(new TextEncoder().encode("Hello World"));
file.syncDataSync();
console.log(Deno.readTextFileSync("my_file.txt")); // Hello World
syncSync(): void Синхронно сбрасывает все ожидающие выполнения операции с данными и метаданными указанного файлового потока на диск.
const file = Deno.openSync(
"my_file.txt",
{ read: true, write: true, create: true },
);
file.writeSync(new TextEncoder().encode("Hello World"));
file.truncateSync(1);
file.syncSync();
console.log(Deno.readTextFileSync("my_file.txt")); // H
truncate(len?: number): Promise<void> Усекает (или расширяет) файл до указанного len. Если len не задан, усекается всё содержимое файла.
Усечение всего файла
using file = await Deno.open("my_file.txt", { write: true });
await file.truncate();
Усечение части файла
// if "my_file.txt" contains the text "hello world":
using file = await Deno.open("my_file.txt", { write: true });
await file.truncate(7);
const buf = new Uint8Array(100);
await file.read(buf);
const text = new TextDecoder().decode(buf); // "hello w"
truncateSync(len?: number): void Синхронно усекает (или расширяет) файл до указанного len. Если len не задан, усекается всё содержимое файла.
Усечение всего файла
using file = Deno.openSync("my_file.txt", { write: true });
file.truncateSync();
Усечение части файла
// if "my_file.txt" contains the text "hello world":
using file = Deno.openSync("my_file.txt", { write: true });
file.truncateSync(7);
const buf = new Uint8Array(100);
file.readSync(buf);
const text = new TextDecoder().decode(buf); // "hello w"
tryLock(exclusive?: boolean): Promise<boolean> Пытается получить рекомендательную блокировку файловой системы для файла. Возвращает true, если блокировка получена, и false, если файл уже заблокирован.
В отличие от Deno.FsFile.lock, этот метод не будет ожидать, если получить блокировку невозможно.
tryLockSync(exclusive?: boolean): boolean Синхронно пытается получить рекомендательную блокировку файловой системы для файла. Возвращает true, если блокировка получена, и false, если файл уже заблокирован.
В отличие от Deno.FsFile.lockSync, этот метод не будет ожидать, если получить блокировку невозможно.
unlock(): Promise<void> Снимает рекомендательную блокировку файловой системы с файла.
unlockSync(): void Синхронно снимает рекомендательную блокировку файловой системы с файла.
utime(
atime: number | Date,
mtime: number | Date,
): Promise<void> Изменяет время доступа (atime) и время модификации (mtime) ресурса файлового потока. Указанное время задаётся в секундах (время эпохи UNIX) или объектами Date.
using file = await Deno.open("file.txt", { create: true, write: true });
await file.utime(1556495550, new Date());
utimeSync(
atime: number | Date,
mtime: number | Date,
): void Синхронно изменяет время доступа (atime) и время модификации (mtime) ресурса файлового потока. Указанное время задаётся в секундах (время эпохи UNIX) или объектами Date.
using file = Deno.openSync("file.txt", { create: true, write: true });
file.utime(1556495550, new Date());
write(p: Uint8Array): Promise<number> Записывает содержимое буфера массива (p) в файл.
Возвращает количество записанных байтов.
Не гарантируется, что весь буфер будет записан за один вызов.
const encoder = new TextEncoder();
const data = encoder.encode("Hello world");
using file = await Deno.open("/foo/bar.txt", { write: true });
const bytesWritten = await file.write(data); // 11
writeSync(p: Uint8Array): number Синхронно записывает содержимое буфера массива (p) в файл.
Возвращает количество записанных байтов.
Не гарантируется, что весь буфер будет записан за один вызов.
const encoder = new TextEncoder();
const data = encoder.encode("Hello world");
using file = Deno.openSync("/foo/bar.txt", { write: true });
const bytesWritten = file.writeSync(data); // 11
функция Deno.chmod
chmod(
path: string | URL,
mode: number,
): Promise<void>Изменяет права доступа к файлу или каталогу по указанному пути. Игнорирует umask процесса.
await Deno.chmod("/path/to/file", 0o666);
Режим представляет собой последовательность из 3 восьмеричных чисел. Первое (крайнее левое) число задаёт права владельца. Второе число задаёт права группы. Последнее (крайнее правое) число задаёт права остальных пользователей. Например, при режиме 0o764 владелец (7) может читать, записывать и выполнять, группа (6) может читать и записывать, а все остальные (4) могут только читать.
| Число | Описание |
|---|---|
| 7 | чтение, запись и выполнение |
| 6 | чтение и запись |
| 5 | чтение и выполнение |
| 4 | только чтение |
| 3 | запись и выполнение |
| 2 | только запись |
| 1 | только выполнение |
| 0 | нет прав |
Примечание: в Windows можно изменять только права на чтение и запись. Разграничение прав владельца, группы и остальных пользователей не поддерживается.
Требуется разрешение allow-write.
Параметры
path: string | URL mode: number Тип возвращаемого значения
Promise<void> функция Deno.chmodSync
chmodSync(
path: string | URL,
mode: number,
): voidСинхронно изменяет права доступа к файлу или каталогу по указанному пути. Игнорирует umask процесса.
Deno.chmodSync("/path/to/file", 0o666);
Полное описание см. в разделе Deno.chmod.
Требуется разрешение allow-write.
Параметры
path: string | URL mode: number Тип возвращаемого значения
void функция Deno.chown
chown(
path: string | URL,
uid: number | null,
gid: number | null,
): Promise<void>Изменяет владельца обычного файла или каталога.
Эта функция недоступна в Windows.
await Deno.chown("myFile.txt", 1000, 1002);
Требуется разрешение allow-write.
При выполнении в Windows выдаёт ошибку (функция не реализована).
Параметры
path: string | URL путь к файлу
uid: number | null идентификатор пользователя (UID) нового владельца или null, если менять его не нужно
gid: number | null идентификатор группы (GID) нового владельца или null, если менять её не нужно
Тип возвращаемого значения
Promise<void> функция Deno.chownSync
chownSync(
path: string | URL,
uid: number | null,
gid: number | null,
): voidСинхронно изменяет владельца обычного файла или каталога.
Эта функция недоступна в Windows.
Deno.chownSync("myFile.txt", 1000, 1002);
Требуется разрешение allow-write.
При выполнении в Windows выдаёт ошибку (функция не реализована).
Параметры
path: string | URL путь к файлу
uid: number | null идентификатор пользователя (UID) нового владельца или null, если менять его не нужно
gid: number | null идентификатор группы (GID) нового владельца или null, если менять её не нужно
Тип возвращаемого значения
void функция Deno.copyFile
copyFile(
fromPath: string | URL,
toPath: string | URL,
): Promise<void>Копирует содержимое и права доступа одного файла в другой по указанному пути. По умолчанию при необходимости создаёт новый файл, иначе перезаписывает существующий. Операция завершается ошибкой, если целевой путь указывает на каталог или файл недоступен для записи.
await Deno.copyFile("from.txt", "to.txt");
Для fromPath требуется разрешение allow-read.
Для toPath требуется разрешение allow-write.
Параметры
fromPath: string | URL toPath: string | URL Тип возвращаемого значения
Promise<void> функция Deno.copyFileSync
copyFileSync(
fromPath: string | URL,
toPath: string | URL,
): voidСинхронно копирует содержимое и права доступа одного файла в другой по указанному пути. По умолчанию при необходимости создаёт новый файл, иначе перезаписывает существующий. Операция завершается ошибкой, если целевой путь указывает на каталог или файл недоступен для записи.
Deno.copyFileSync("from.txt", "to.txt");
Для fromPath требуется разрешение allow-read.
Для toPath требуется разрешение allow-write.
Параметры
fromPath: string | URL toPath: string | URL Тип возвращаемого значения
void функция Deno.create
create(path: string | URL): Promise<FsFile>Создает файл, если он не существует, или очищает существующий файл и возвращает экземпляр Deno.FsFile.
const file = await Deno.create("/foo/bar.txt");
Требуются разрешения allow-read и allow-write.
Параметры
path: string | URL Тип возвращаемого значения
Promise<FsFile> функция Deno.createSync
createSync(path: string | URL): FsFileСоздает файл, если он не существует, или очищает существующий файл и возвращает экземпляр Deno.FsFile.
const file = Deno.createSync("/foo/bar.txt");
Требуются разрешения allow-read и allow-write.
Параметры
path: string | URL Тип возвращаемого значения
функция Deno.link
link(
oldpath: string,
newpath: string,
): Promise<void>Создает newpath как жесткую ссылку на oldpath.
await Deno.link("old/name", "new/name");
Требуются разрешения allow-read и allow-write.
Параметры
oldpath: string newpath: string Тип возвращаемого значения
Promise<void> функция Deno.linkSync
linkSync(
oldpath: string,
newpath: string,
): voidСинхронно создает newpath как жесткую ссылку на oldpath.
Deno.linkSync("old/name", "new/name");
Требуются разрешения allow-read и allow-write.
Параметры
oldpath: string newpath: string Тип возвращаемого значения
void функция Deno.lstat
lstat(path: string | URL): Promise<FileInfo>Возвращает Deno.FileInfo для указанного path. Если path является символической ссылкой, возвращается информация о самой ссылке, а не об объекте, на который она указывает.
import { assert } from "jsr:@std/assert";
const fileInfo = await Deno.lstat("hello.txt");
assert(fileInfo.isFile);
Требуется разрешение allow-read.
Параметры
path: string | URL Тип возвращаемого значения
Promise<FileInfo> функция Deno.lstatSync
lstatSync(path: string | URL): FileInfoСинхронно возвращает Deno.FileInfo для указанного path. Если path является символической ссылкой, возвращается информация о самой ссылке, а не об объекте, на который она указывает.
import { assert } from "jsr:@std/assert";
const fileInfo = Deno.lstatSync("hello.txt");
assert(fileInfo.isFile);
Требуется разрешение allow-read.
Параметры
path: string | URL Тип возвращаемого значения
функция Deno.makeTempDir
makeTempDir(options?: MakeTempOptions): Promise<string>Создает новый временный каталог в каталоге, используемом по умолчанию для временных файлов, если не указан dir. Также можно задать префикс и суффикс имени каталога с помощью prefix и suffix соответственно.
Вызов возвращает полный путь к созданному каталогу.
Одновременный вызов этой функции несколькими программами приведет к созданию разных каталогов. Вызывающая сторона должна удалить каталог, когда он больше не нужен.
const tempDirName0 = await Deno.makeTempDir(); // e.g. /tmp/2894ea76
const tempDirName1 = await Deno.makeTempDir({ prefix: 'my_temp' }); // e.g. /tmp/my_temp339c944d
Требуется разрешение allow-write.
Параметры
options: MakeTempOptions Тип возвращаемого значения
Promise<string> функция Deno.makeTempDirSync
makeTempDirSync(options?: MakeTempOptions): stringСинхронно создает новый временный каталог в каталоге, используемом по умолчанию для временных файлов, если не указан dir. Также можно задать префикс и суффикс имени каталога с помощью prefix и suffix соответственно.
Возвращается полный путь к созданному каталогу.
Одновременный вызов этой функции несколькими программами приведет к созданию разных каталогов. Вызывающая сторона должна удалить каталог, когда он больше не нужен.
const tempDirName0 = Deno.makeTempDirSync(); // e.g. /tmp/2894ea76
const tempDirName1 = Deno.makeTempDirSync({ prefix: 'my_temp' }); // e.g. /tmp/my_temp339c944d
Требуется разрешение allow-write.
Параметры
options: MakeTempOptions Тип возвращаемого значения
string функция Deno.makeTempFile
makeTempFile(options?: MakeTempOptions): Promise<string>Создает новый временный файл в каталоге, используемом по умолчанию для временных файлов, если не указан dir.
Также можно задать префикс и суффикс имени каталога с помощью prefix и suffix соответственно.
Вызов возвращает полный путь к созданному файлу.
Одновременный вызов этой функции несколькими программами приведет к созданию разных файлов. Вызывающая сторона должна удалить файл, когда он больше не нужен.
const tmpFileName0 = await Deno.makeTempFile(); // e.g. /tmp/419e0bf2
const tmpFileName1 = await Deno.makeTempFile({ prefix: 'my_temp' }); // e.g. /tmp/my_temp754d3098
Требуется разрешение allow-write.
Параметры
options: MakeTempOptions Тип возвращаемого значения
Promise<string> функция Deno.makeTempFileSync
makeTempFileSync(options?: MakeTempOptions): stringСинхронно создает новый временный файл в каталоге, используемом по умолчанию для временных файлов, если не указан dir.
Также можно задать префикс и суффикс имени каталога с помощью prefix и suffix соответственно.
Возвращается полный путь к созданному файлу.
Одновременный вызов этой функции несколькими программами приведет к созданию разных файлов. Вызывающая сторона должна удалить файл, когда он больше не нужен.
const tempFileName0 = Deno.makeTempFileSync(); // e.g. /tmp/419e0bf2
const tempFileName1 = Deno.makeTempFileSync({ prefix: 'my_temp' }); // e.g. /tmp/my_temp754d3098
Требуется разрешение allow-write.
Параметры
options: MakeTempOptions Тип возвращаемого значения
string функция Deno.mkdir
mkdir(
path: string | URL,
options?: MkdirOptions,
): Promise<void>Создает каталог по указанному пути.
await Deno.mkdir("new_dir");
await Deno.mkdir("nested/directories", { recursive: true });
await Deno.mkdir("restricted_access_dir", { mode: 0o700 });
Выбрасывает исключение, если каталог уже существует, если только для recursive не задано значение true.
Требуется разрешение allow-write.
Параметры
path: string | URL options: MkdirOptions Тип возвращаемого значения
Promise<void> функция Deno.mkdirSync
mkdirSync(
path: string | URL,
options?: MkdirOptions,
): voidСинхронно создает каталог по указанному пути.
Deno.mkdirSync("new_dir");
Deno.mkdirSync("nested/directories", { recursive: true });
Deno.mkdirSync("restricted_access_dir", { mode: 0o700 });
Выбрасывает исключение, если каталог уже существует, если только для recursive не задано значение true.
Требуется разрешение allow-write.
Параметры
path: string | URL options: MkdirOptions Тип возвращаемого значения
void функция Deno.open
open(
path: string | URL,
options?: OpenOptions,
): Promise<FsFile>Открывает файл и возвращает экземпляр Deno.FsFile. Файл может не существовать до вызова, если используются параметры открытия create или createNew. Чтобы среда выполнения автоматически закрыла файл, когда он выйдет из области видимости, вызывающая сторона может объявить переменную файла с ключевым словом using.
using file = await Deno.open("/foo/bar.txt", { read: true, write: true });
// Do work with file
Кроме того, вызывающая сторона может вручную закрыть ресурс после завершения работы с ним.
const file = await Deno.open("/foo/bar.txt", { read: true, write: true });
// Do work with file
file.close();
В зависимости от параметров требуются разрешения allow-read и/или allow-write.
Параметры
path: string | URL options: OpenOptions Тип возвращаемого значения
Promise<FsFile> функция Deno.openSync
openSync(
path: string | URL,
options?: OpenOptions,
): FsFileСинхронно открывает файл и возвращает экземпляр Deno.FsFile. Файл может не существовать до вызова, если используются параметры открытия create или createNew. Чтобы среда выполнения автоматически закрыла файл, когда он выйдет из области видимости, вызывающая сторона может объявить переменную файла с ключевым словом using.
using file = Deno.openSync("/foo/bar.txt", { read: true, write: true });
// Do work with file
Кроме того, вызывающая сторона может вручную закрыть ресурс после завершения работы с ним.
const file = Deno.openSync("/foo/bar.txt", { read: true, write: true });
// Do work with file
file.close();
В зависимости от параметров требуются разрешения allow-read и/или allow-write.
Параметры
path: string | URL options: OpenOptions Тип возвращаемого значения
функция Deno.readDir
readDir(path: string | URL): AsyncIterable<DirEntry>Читает каталог, указанный в path, и возвращает асинхронный итерируемый объект с элементами Deno.DirEntry. Порядок элементов не гарантируется.
for await (const dirEntry of Deno.readDir("/")) {
console.log(dirEntry.name);
}
Выбрасывает ошибку, если path не является каталогом.
Требуется разрешение allow-read.
Параметры
path: string | URL Тип возвращаемого значения
AsyncIterable<DirEntry> функция Deno.readDirSync
readDirSync(path: string | URL): IteratorObject<DirEntry>Синхронно читает каталог, заданный path, и возвращает итерируемый объект с элементами Deno.DirEntry. Порядок элементов не гарантируется.
for (const dirEntry of Deno.readDirSync("/")) {
console.log(dirEntry.name);
}
Выбрасывает ошибку, если path не является каталогом.
Требуется разрешение allow-read.
Параметры
path: string | URL Тип возвращаемого значения
IteratorObject<DirEntry> функция Deno.readFile
readFile(
path: string | URL,
options?: ReadFileOptions,
): Promise<Uint8Array<ArrayBuffer>>Читает весь файл и возвращает промис, который разрешается массивом байтов. При необходимости для преобразования байтов в строку можно использовать TextDecoder. При чтении каталога промис отклоняется с ошибкой.
const decoder = new TextDecoder("utf-8");
const data = await Deno.readFile("hello.txt");
console.log(decoder.decode(data));
Требуется разрешение allow-read.
Параметры
path: string | URL options: ReadFileOptions Тип возвращаемого значения
Promise<Uint8Array<ArrayBuffer>> функция Deno.readFileSync
readFileSync(path: string | URL): Uint8Array<ArrayBuffer>Синхронно читает и возвращает всё содержимое файла в виде массива байтов. При необходимости для преобразования байтов в строку можно использовать TextDecoder. При чтении каталога выбрасывается ошибка.
const decoder = new TextDecoder("utf-8");
const data = Deno.readFileSync("hello.txt");
console.log(decoder.decode(data));
Требуется разрешение allow-read.
Параметры
path: string | URL Тип возвращаемого значения
Uint8Array<ArrayBuffer> функция Deno.readLink
readLink(path: string | URL): Promise<string>Возвращает полный путь назначения указанной символической ссылки.
await Deno.symlink("./test.txt", "./test_link.txt");
const target = await Deno.readLink("./test_link.txt"); // full path of ./test.txt
Выбрасывает TypeError при вызове с жёсткой ссылкой.
Требуется разрешение allow-read.
Параметры
path: string | URL Тип возвращаемого значения
Promise<string> функция Deno.readLinkSync
readLinkSync(path: string | URL): stringСинхронно возвращает полный путь назначения указанной символической ссылки.
Deno.symlinkSync("./test.txt", "./test_link.txt");
const target = Deno.readLinkSync("./test_link.txt"); // full path of ./test.txt
Выбрасывает TypeError при вызове с жёсткой ссылкой.
Требуется разрешение allow-read.
Параметры
path: string | URL Тип возвращаемого значения
string функция Deno.readTextFile
readTextFile(
path: string | URL,
options?: ReadFileOptions,
): Promise<string>Асинхронно читает и возвращает всё содержимое файла в виде строки, декодированной из UTF-8.
const data = await Deno.readTextFile("hello.txt");
console.log(data);
Возвращённый промис отклоняется, если операция завершается ошибкой, например с Deno.errors.NotFound, если файл не существует, с Deno.errors.IsADirectory, если path указывает на каталог, или с Deno.errors.PermissionDenied, если необходимое разрешение не было предоставлено.
Требуется разрешение allow-read.
Параметры
path: string | URL options: ReadFileOptions Тип возвращаемого значения
Promise<string> функция Deno.readTextFileSync
readTextFileSync(path: string | URL): stringСинхронно читает и возвращает всё содержимое файла в виде строки, декодированной из UTF-8.
const data = Deno.readTextFileSync("hello.txt");
console.log(data);
Выбрасывает ошибку, если операция завершается неудачей, например с Deno.errors.NotFound, если файл не существует, с Deno.errors.IsADirectory, если path указывает на каталог, или с Deno.errors.PermissionDenied, если необходимое разрешение не было предоставлено.
Требуется разрешение allow-read.
Параметры
path: string | URL Тип возвращаемого значения
string функция Deno.realPath
realPath(path: string | URL): Promise<string>Возвращает абсолютный нормализованный путь с разрешёнными символическими ссылками.
// e.g. given /home/alice/file.txt and current directory /home/alice
await Deno.symlink("file.txt", "symlink_file.txt");
const realPath = await Deno.realPath("./file.txt");
const realSymLinkPath = await Deno.realPath("./symlink_file.txt");
console.log(realPath); // outputs "/home/alice/file.txt"
console.log(realSymLinkPath); // outputs "/home/alice/file.txt"
Для целевого пути требуется разрешение allow-read.
Если целевой путь относительный, для CWD также требуется разрешение allow-read.
Параметры
path: string | URL Тип возвращаемого значения
Promise<string> функция Deno.realPathSync
realPathSync(path: string | URL): stringСинхронно возвращает абсолютный нормализованный путь с разрешёнными символическими ссылками.
// e.g. given /home/alice/file.txt and current directory /home/alice
Deno.symlinkSync("file.txt", "symlink_file.txt");
const realPath = Deno.realPathSync("./file.txt");
const realSymLinkPath = Deno.realPathSync("./symlink_file.txt");
console.log(realPath); // outputs "/home/alice/file.txt"
console.log(realSymLinkPath); // outputs "/home/alice/file.txt"
Для целевого пути требуется разрешение allow-read.
Если целевой путь относительный, для CWD также требуется разрешение allow-read.
Параметры
path: string | URL Тип возвращаемого значения
string функция Deno.remove
remove(
path: string | URL,
options?: RemoveOptions,
): Promise<void>Удаляет указанный файл или каталог.
await Deno.remove("/path/to/empty_dir/or/file");
await Deno.remove("/path/to/populated_dir/or/file", { recursive: true });
Выбрасывает ошибку, если доступ запрещён, путь не найден либо путь указывает на непустой каталог, а параметр recursive не установлен в true.
Требуется разрешение allow-write.
Параметры
path: string | URL options: RemoveOptions Тип возвращаемого значения
Promise<void> функция Deno.removeSync
removeSync(
path: string | URL,
options?: RemoveOptions,
): voidСинхронно удаляет указанный файл или каталог.
Deno.removeSync("/path/to/empty_dir/or/file");
Deno.removeSync("/path/to/populated_dir/or/file", { recursive: true });
Выбрасывает ошибку, если доступ запрещён, путь не найден либо путь указывает на непустой каталог, а параметр recursive не установлен в true.
Требуется разрешение allow-write.
Параметры
path: string | URL options: RemoveOptions Тип возвращаемого значения
void функция Deno.rename
rename(
oldpath: string | URL,
newpath: string | URL,
): Promise<void>Переименовывает (перемещает) oldpath в newpath. Пути могут указывать на файлы или каталоги. Если newpath уже существует и не является каталогом, rename() заменяет его. Если oldpath и newpath находятся в разных каталогах, могут применяться ограничения, зависящие от ОС.
await Deno.rename("old/path", "new/path");
В Unix-подобных ОС эта операция не следует по символическим ссылкам ни по одному из путей.
Условия, при которых операция выбрасывает ошибки, и сами эти ошибки различаются в зависимости от платформы. Переименование чего-либо в непустой каталог всегда приводит к ошибке.
Требуются разрешения allow-read и allow-write.
Параметры
oldpath: string | URL newpath: string | URL Тип возвращаемого значения
Promise<void> функция Deno.renameSync
renameSync(
oldpath: string | URL,
newpath: string | URL,
): voidСинхронно переименовывает (перемещает) oldpath в newpath. Пути могут указывать на файлы или каталоги. Если newpath уже существует и не является каталогом, renameSync() заменяет его. Если oldpath и newpath находятся в разных каталогах, могут применяться ограничения, зависящие от ОС.
Deno.renameSync("old/path", "new/path");
В Unix-подобных ОС эта операция не следует по символическим ссылкам ни по одному из путей.
Условия, при которых операция выбрасывает ошибки, и сами эти ошибки различаются в зависимости от платформы. Переименование чего-либо в непустой каталог всегда приводит к ошибке.
Требуются разрешения allow-read и allow-write.
Параметры
oldpath: string | URL newpath: string | URL Тип возвращаемого значения
void функция Deno.stat
stat(path: string | URL): Promise<FileInfo>Возвращает Deno.FileInfo для указанного path. Всегда следует по символическим ссылкам.
import { assert } from "jsr:@std/assert";
const fileInfo = await Deno.stat("hello.txt");
assert(fileInfo.isFile);
Требуется разрешение allow-read.
Параметры
path: string | URL Тип возвращаемого значения
Promise<FileInfo> функция Deno.statSync
statSync(path: string | URL): FileInfoСинхронно возвращает Deno.FileInfo для указанного path. Всегда следует по символическим ссылкам.
import { assert } from "jsr:@std/assert";
const fileInfo = Deno.statSync("hello.txt");
assert(fileInfo.isFile);
Требуется разрешение allow-read.
Параметры
path: string | URL Тип возвращаемого значения
функция Deno.symlink
symlink(): Promise<void>Создаёт newpath как символическую ссылку на oldpath.
Параметру options.type можно присвоить значение "file", "dir" или "junction". Этот аргумент доступен только в Windows и игнорируется на других платформах.
await Deno.symlink("old/name", "new/name");
Требуются разрешения allow-read и allow-write, предоставленные без ограничения области действия путём (т. е. --allow-read --allow-write, а не --allow-read=./dir --allow-write=./dir). Цель символической ссылки может быть относительным, абсолютным или ещё не существующим путём, который разрешается только при последующем переходе по ссылке, поэтому во время её создания проверить этот путь по списку разрешённых путей с ограниченной областью действия невозможно. Поэтому разрешения с ограниченной областью действия пути отклоняются.
Параметры
Тип возвращаемого значения
Promise<void> функция Deno.symlinkSync
symlinkSync(): voidСоздаёт newpath как символическую ссылку на oldpath.
Параметру options.type можно присвоить значение "file", "dir" или "junction". Этот аргумент доступен только в Windows и игнорируется на других платформах.
Deno.symlinkSync("old/name", "new/name");
Требуются разрешения allow-read и allow-write, предоставленные без ограничения области действия путём (т. е. --allow-read --allow-write, а не --allow-read=./dir --allow-write=./dir). Цель символической ссылки может быть относительным, абсолютным или ещё не существующим путём, который разрешается только при последующем переходе по ссылке, поэтому во время её создания проверить этот путь по списку разрешённых путей с ограниченной областью действия невозможно. Поэтому разрешения с ограниченной областью действия пути отклоняются.
Параметры
Тип возвращаемого значения
void функция Deno.truncate
truncate(
name: string,
len?: number,
): Promise<void>Усекает (или увеличивает) указанный файл до заданного len. Если len не указано, усекается всё содержимое файла.
Усечение всего файла
await Deno.truncate("my_file.txt");
Усечение части файла
const file = await Deno.makeTempFile();
await Deno.writeTextFile(file, "Hello World");
await Deno.truncate(file, 7);
const data = await Deno.readFile(file);
console.log(new TextDecoder().decode(data)); // "Hello W"
Требуется разрешение allow-write.
Параметры
name: string len: number Тип возвращаемого значения
Promise<void> функция Deno.truncateSync
truncateSync(
name: string,
len?: number,
): voidСинхронно усекает (или увеличивает) указанный файл до заданного len. Если len не указано, усекается всё содержимое файла.
Усечение всего файла
Deno.truncateSync("my_file.txt");
Усечение части файла
const file = Deno.makeTempFileSync();
Deno.writeFileSync(file, new TextEncoder().encode("Hello World"));
Deno.truncateSync(file, 7);
const data = Deno.readFileSync(file);
console.log(new TextDecoder().decode(data));
Требуется разрешение allow-write.
Параметры
name: string len: number Тип возвращаемого значения
void функция Deno.umask
umask(mask?: number): numberВозвращает маску создания файлов процесса (umask). Если указано mask, задаёт маску создания файлов процесса. Этот вызов всегда возвращает значение маски, действовавшее до вызова.
console.log(Deno.umask()); // e.g. 18 (0o022)
const prevUmaskValue = Deno.umask(0o077); // e.g. 18 (0o022)
console.log(Deno.umask()); // e.g. 63 (0o077)
Требуется разрешение allow-sys="umask".
Примечание: этот API не реализован в Windows
Параметры
mask: number Тип возвращаемого значения
number функция Deno.utime
utime(
path: string | URL,
atime: number | Date,
mtime: number | Date,
): Promise<void>Изменяет время доступа (atime) и время модификации (mtime) объекта файловой системы, на который ссылается path. Время задаётся либо в секундах (время эпохи UNIX), либо в виде объектов Date.
await Deno.utime("myfile.txt", 1556495550, new Date());
Требуется разрешение allow-write.
Параметры
path: string | URL atime: number | Date mtime: number | Date Тип возвращаемого значения
Promise<void> функция Deno.utimeSync
utimeSync(
path: string | URL,
atime: number | Date,
mtime: number | Date,
): voidСинхронно изменяет время доступа (atime) и время модификации (mtime) объекта файловой системы, на который ссылается path. Время задаётся либо в секундах (время эпохи UNIX), либо в виде объектов Date.
Deno.utimeSync("myfile.txt", 1556495550, new Date());
Требуется разрешение allow-write.
Параметры
path: string | URL atime: number | Date mtime: number | Date Тип возвращаемого значения
void функция Deno.watchFs
watchFs(
paths: string | string[],
options?: { recursive?: boolean; ignore?: string | string[]; },
): FsWatcherОтслеживает события файловой системы для одного или нескольких paths, которыми могут быть файлы или каталоги. Эти пути уже должны существовать. Одно действие пользователя (например, touch test.file) может вызвать несколько событий файловой системы. Аналогично, одно действие пользователя может привести к появлению нескольких путей к файлам в одном событии (например, mv old_name.txt new_name.txt).
Параметр рекурсивного отслеживания по умолчанию равен true; для каталогов будут отслеживаться указанный каталог и все его подкаталоги.
Обратите внимание, что точный порядок событий может различаться в разных операционных системах.
const watcher = Deno.watchFs("/");
for await (const event of watcher) {
console.log(">>>> event", event);
// { kind: "create", paths: [ "/foo.txt" ] }
}
Параметр ignore можно использовать для фильтрации событий по одному или нескольким путям. Путь считается совпавшим, если он сам является игнорируемым путём или находится внутри него, поэтому игнорирование каталога распространяется на всё его содержимое. Относительные пути разрешаются относительно текущего рабочего каталога. Для игнорируемых путей по-прежнему требуется разрешение allow-read, как и для отслеживаемых путей.
// Watch the project but skip the `.git` directory and `build` output.
const watcher = Deno.watchFs(".", { ignore: [".git", "build"] });
Вызовите watcher.close(), чтобы прекратить отслеживание.
const watcher = Deno.watchFs("/");
setTimeout(() => {
watcher.close();
}, 5000);
for await (const event of watcher) {
console.log(">>>> event", event);
}
Требуется разрешение allow-read.
Параметры
paths: string | string[] options: { recursive?: boolean; ignore?: string | string[]; } Тип возвращаемого значения
функция Deno.writeFile
writeFile(): Promise<void>Записывает data в указанный path, по умолчанию создавая новый файл, если это необходимо, или перезаписывая существующий.
const encoder = new TextEncoder();
const data = encoder.encode("Hello world\n");
await Deno.writeFile("hello1.txt", data); // overwrite "hello1.txt" or create it
await Deno.writeFile("hello2.txt", data, { create: false }); // only works if "hello2.txt" exists
await Deno.writeFile("hello3.txt", data, { mode: 0o777 }); // set permissions on new file
await Deno.writeFile("hello4.txt", data, { append: true }); // add data to the end of the file
Требуется разрешение allow-write, а также allow-read, если options.create имеет значение false.
Параметры
path: string | URL data: Uint8Array | ReadableStream<Uint8Array> options: WriteFileOptions Тип возвращаемого значения
Promise<void> функция Deno.writeFileSync
writeFileSync(): voidСинхронно записывает data в указанный path, по умолчанию создавая новый файл, если это необходимо, или перезаписывая существующий.
const encoder = new TextEncoder();
const data = encoder.encode("Hello world\n");
Deno.writeFileSync("hello1.txt", data); // overwrite "hello1.txt" or create it
Deno.writeFileSync("hello2.txt", data, { create: false }); // only works if "hello2.txt" exists
Deno.writeFileSync("hello3.txt", data, { mode: 0o777 }); // set permissions on new file
Deno.writeFileSync("hello4.txt", data, { append: true }); // add data to the end of the file
Требуется разрешение allow-write, а также allow-read, если options.create имеет значение false.
Параметры
Тип возвращаемого значения
void функция Deno.writeTextFile
writeTextFile(): Promise<void>Записывает строку data в указанный path, по умолчанию создавая новый файл, если это необходимо, или перезаписывая существующий.
await Deno.writeTextFile("hello1.txt", "Hello world\n"); // overwrite "hello1.txt" or create it
Данные записываются в файл, после чего файл закрывается, однако это не гарантирует, что содержимое будет сброшено из буферов операционной системы на физическое устройство хранения. Если требуется такая гарантия сохранности данных (например, перед отправкой сигнала о завершении записи), откройте файл с помощью Deno.open и вызовите Deno.FsFile.sync перед его закрытием.
Требуется разрешение allow-write, а также allow-read, если options.create имеет значение false.
Параметры
Тип возвращаемого значения
Promise<void> функция Deno.writeTextFileSync
writeTextFileSync(): voidСинхронно записывает строку data в указанный path, по умолчанию создавая новый файл, если это необходимо, или перезаписывая существующий.
Deno.writeTextFileSync("hello1.txt", "Hello world\n"); // overwrite "hello1.txt" or create it
Как и в случае с Deno.writeTextFile, данные записываются, а файл закрывается, однако это не гарантирует, что содержимое будет сброшено из буферов операционной системы на физическое устройство хранения. Если требуется такая гарантия сохранности данных, откройте файл с помощью Deno.openSync и вызовите Deno.FsFile.syncSync перед его закрытием.
Требуется разрешение allow-write, а также allow-read, если options.create имеет значение false.
Параметры
Тип возвращаемого значения
void интерфейс Deno.DirEntry
Информация о записи каталога, возвращаемая функциями Deno.readDir и Deno.readDirSync.
Свойства
name: string Имя файла записи. Это только имя сущности, не содержащее полный путь.
isFile: boolean Значение True, если эта информация относится к обычному файлу. Не может быть одновременно истинным с DirEntry.isDirectory и DirEntry.isSymlink.
isDirectory: boolean Значение True, если эта информация относится к обычному каталогу. Не может быть одновременно истинным с DirEntry.isFile и DirEntry.isSymlink.
isSymlink: boolean Значение True, если эта информация относится к символической ссылке. Не может быть одновременно истинным с DirEntry.isFile и DirEntry.isDirectory.
интерфейс Deno.FileInfo
Предоставляет информацию о файле и возвращается функциями Deno.stat, Deno.lstat, Deno.statSync и Deno.lstatSync, а также при вызове stat() и statSync() для экземпляра Deno.FsFile.
Свойства
isFile: boolean Значение True, если эта информация относится к обычному файлу. Не может быть одновременно истинным с FileInfo.isDirectory и FileInfo.isSymlink.
isDirectory: boolean Значение True, если эта информация относится к обычному каталогу. Не может быть одновременно истинным с FileInfo.isFile и FileInfo.isSymlink.
isSymlink: boolean Значение True, если эта информация относится к символической ссылке. Не может быть одновременно истинным с FileInfo.isFile и FileInfo.isDirectory.
size: number Размер файла в байтах.
mtime: Date | null Время последнего изменения файла. Соответствует полю mtime из stat в Linux/Mac OS и ftLastWriteTime в Windows. Может быть недоступно на некоторых платформах.
atime: Date | null Время последнего доступа к файлу. Соответствует полю atime из stat в Unix и ftLastAccessTime в Windows. Может быть недоступно на некоторых платформах.
birthtime: Date | null Время создания файла. Соответствует полю birthtime из stat в Mac/BSD и ftCreationTime в Windows. Может быть недоступно на некоторых платформах.
ctime: Date | null Время последнего изменения метаданных файла. Соответствует полю ctime из stat в Mac/BSD и ChangeTime в Windows. Может быть недоступно на некоторых платформах.
dev: number Идентификатор устройства, содержащего файл.
ino: number | null В системах Unix соответствует номеру inode. В Windows это индексный номер файла, уникальный в пределах тома. Может быть недоступно на некоторых платформах.
mode: number | null Базовые необработанные биты st_mode, содержащие стандартные разрешения Unix для этого файла/каталога.
nlink: number | null Количество жестких ссылок на этот файл.
uid: number | null ID пользователя — владельца этого файла.
Только Linux/Mac OS.
gid: number | null ID группы — владельца этого файла.
Только Linux/Mac OS.
rdev: number | null Идентификатор устройства этого файла.
Только Linux/Mac OS.
blksize: number | null Размер блока для ввода-вывода файловой системы.
Только Linux/Mac OS.
blocks: number | null Количество выделенных для файла блоков в единицах по 512 байт.
isBlockDevice: boolean | null Значение True, если эта информация относится к блочному устройству.
Только Linux/Mac OS.
isCharDevice: boolean | null Значение True, если эта информация относится к символьному устройству.
Только Linux/Mac OS.
isFifo: boolean | null Значение True, если эта информация относится к FIFO.
Только Linux/Mac OS.
isSocket: boolean | null Значение True, если эта информация относится к сокету.
Только Linux/Mac OS.
интерфейс Deno.FsEvent
Представляет уникальное событие файловой системы, выдаваемое объектом Deno.FsWatcher.
Свойства
kind:
"any"
| "access"
| "create"
| "modify"
| "rename"
| "remove"
| "other"
Вид/тип события файловой системы.
paths: string[] Массив путей, связанных с событием файловой системы.
flag: FsEventFlag Дополнительные флаги, связанные с событием.
интерфейс Deno.FsWatcher
Возвращается функцией Deno.watchFs. Это асинхронный итератор, выдающий системные события. Чтобы прекратить наблюдение за файловой системой, вызовите метод .close().
Методы
close(): void Прекращает наблюдение за файловой системой и закрывает ресурс наблюдателя.
Прекращает наблюдение за файловой системой и закрывает ресурс наблюдателя.
[[Symbol.asyncIterator]](): AsyncIterableIterator<FsEvent> интерфейс Deno.MakeTempOptions
Параметры, которые можно задать при использовании Deno.makeTempDir, Deno.makeTempDirSync, Deno.makeTempFile и Deno.makeTempFileSync.
Свойства
dir: string Каталог, в котором следует создать временный каталог (по умолчанию используется переменная среды TMPDIR или значение системы по умолчанию, обычно /tmp).
Обратите внимание: если переданное значение dir является относительным путем, пути, возвращаемые функциями makeTempFile() и makeTempDir(), также будут относительными. Учитывайте это при смене рабочего каталога.
prefix: string Строка, которая должна предшествовать случайной части имени временного каталога.
suffix: string Строка, которая должна следовать за случайной частью имени временного каталога.
интерфейс Deno.MkdirOptions
Параметры, которые можно задать при использовании Deno.mkdir и Deno.mkdirSync.
Свойства
recursive: boolean = false Если установлено значение true, будут также созданы все промежуточные каталоги (как при выполнении команды оболочки mkdir -p).
Промежуточные каталоги создаются с теми же разрешениями.
Если для recursive установлено значение true, операция завершается без ошибки и без изменений разрешений, если по указанному пути уже существует каталог или символическая ссылка на существующий каталог.
mode: number Разрешения, используемые при создании каталога (по умолчанию — 0o777, до применения umask процесса).
В Windows игнорируется.
интерфейс Deno.OpenOptions
Параметры, которые можно задать при вызове Deno.open и Deno.openSync.
Свойства
read: boolean = true Включает доступ для чтения. Если для этого параметра задано значение true, файл можно будет читать после открытия.
write: boolean = false Включает доступ для записи. Если для этого параметра задано значение true, файл можно будет записывать после открытия. Если файл уже существует, вызовы записи перезапишут его содержимое, по умолчанию не усекая файл.
append: boolean = false Включает режим добавления. Если для этого параметра задано значение true, данные будут добавляться в конец файла, а не перезаписывать его содержимое.
Обратите внимание: установка { write: true, append: true } дает тот же эффект, что и установка только { append: true }.
truncate: boolean = false Включает усечение существующего файла. Если файл успешно открыт с этим параметром, его размер будет уменьшен до 0, если файл уже существует. Для усечения файла его необходимо открыть с доступом для записи.
create: boolean = false Разрешает создать новый файл, если по указанному пути еще нет файла. Для использования требуется доступ для записи или добавления.
createNew: boolean = false Если установлено значение true, в целевом расположении не должно существовать ни файла, ни каталога, ни символической ссылки. Для использования требуется доступ для записи или добавления. Если для createNew установлено значение true, параметры create и truncate игнорируются.
mode: number Разрешения, используемые при создании файла (по умолчанию — 0o666, до применения umask процесса).
В Windows игнорируется.
интерфейс Deno.ReadFileOptions
Параметры, которые можно задать при использовании Deno.readFile или Deno.readFileSync.
Свойства
signal: AbortSignal Сигнал отмены, позволяющий прервать операцию чтения файла. Если сигнал будет переведен в состояние отмены, операция readFile остановится, а возвращенный промис будет отклонен с ошибкой AbortError.
интерфейс Deno.RemoveOptions
Параметры, которые можно задать при использовании Deno.remove и Deno.removeSync.
Свойства
recursive: boolean = false Если установлено значение true, путь будет удален, даже если он указывает на непустой каталог.
интерфейс Deno.SymlinkOptions
Параметры, которые можно использовать с symlink и symlinkSync.
Свойства
type:
"file"
| "dir"
| "junction"
Задает тип символической ссылки: файл, каталог или точка подключения NTFS. Этот параметр применяется только в Windows и игнорируется в других операционных системах.
интерфейс Deno.WriteFileOptions
Параметры для записи в файл.
Свойства
append: boolean = false Если установлено значение true, данные будут добавлены в файл, а не заменят его предыдущее содержимое.
create: boolean = true Указывает, разрешено ли создавать новый файл, если по указанному пути он ещё не существует.
createNew: boolean = false Если установлено значение true, в целевом расположении не должно существовать ни файла, ни каталога, ни символической ссылки. Если для createNew установлено значение true, параметр create игнорируется.
mode: number Разрешения, всегда применяемые к файлу.
signal: AbortSignal Сигнал отмены, позволяющий прервать операцию записи в файл.
Если сигнал перейдёт в состояние отмены, операция записи в файл будет остановлена, а возвращённый промис будет отклонён с ошибкой AbortError.
псевдоним типа Deno.FsEventFlag
Дополнительная информация для объектов FsEvent с типом «other».
-
"rescan": уведомления о повторном сканировании указывают на то, что произошёл пропуск событий или изменение файловой системы, из-за которого полученным до этого моментa событиям больше нельзя доверять как отражающим её текущее состояние. Приложение, которое просто реагирует на изменения файлов, может не учитывать это. Приложению, которое хранит представление файловой системы в памяти, необходимо учитывать это и обновлять такое представление непосредственно из файловой системы.
Определение
"rescan"
© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/api/deno/file-system