Модуль базовый модуль

Модуль fs

Модуль обработки файловой системы

Инструкции:

1
var fs = require('fs');

Некоторые моменты, на которые следует обратить внимание:

  • Выполнить fs.watch(filename)возврат по наследствуEventEmitter Watcher поддерживает три события 'change', 'changeonly', 'renameonly'
  • fs.watchFile(target)И fs.unwatchFile(target)все еще можно использовать парами
  • fs.watchFile(target) Вернет унаследованный от EventEmitter из StatsWatcherОбъект, вызов fs.unwatchFile(target)эквивалентен вызову StatsWatcher.close().
  • С уф по реализации Linux, fs.watchто recursiveварианты win32 / Darwin является стабильной поддержкой. Вы все еще можете попытаться попробовать использовать только в Linux fs.watch('/[path](path.md)/to', { recursive: true }, handler), но можете найти handlerвремя обратного вызова отличаются от ваших ожиданий

Объект

constants

Постоянный объект модуля fs

1
fs_constants fs.constants;

Статическая функция

exists

Запросить, существует ли указанный файл или каталог

1
static Boolean fs.exists(String path) async;

Параметры звонка:

  • path: String, укажите путь для запроса

Результат возврата:

  • Boolean, Возвращает True, чтобы указать, что файл или каталог существует

access

Запросить у пользователя права доступа к указанному файлу

1 2
static fs.access(String path, Integer mode = 0) async;

Параметры звонка:

  • path: String, укажите путь для запроса
  • mode: Целое число, укажите разрешения запроса, по умолчанию - существует ли файл.

Создайте файл жесткой ссылки, этот метод не поддерживается в Windows

1 2
static fs.link(String oldPath, String newPath) async;

Параметры звонка:

  • oldPath: String, исходный файл
  • newPath: String, файл, который нужно создать

Удалить указанный файл

1
static fs.unlink(String path) async;

Параметры звонка:

  • path: String, укажите путь для удаления

mkdir

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

1 2
static fs.mkdir(String path, Integer mode = 0777) async;

Параметры звонка:

  • path: String укажите имя создаваемого каталога
  • mode: Целое число, указать права доступа к файлу, Windows игнорирует этот параметр, значение по умолчанию: 0777

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

1 2
static fs.mkdir(String path, Object opt) async;

Параметры звонка:

  • path: String укажите имя создаваемого каталога
  • opt: Object, укажите параметры создания

Параметр создания может содержать следующие значения:

1 2 3 4
{ recursive: false, // 指定是否父目录不存在是是否自动创建,默认值: false mode: 0777 // 指定文件权限,Windows 忽略此参数,默认值: 0777 }

rmdir

Удалить каталог

1
static fs.rmdir(String path) async;

Параметры звонка:

  • path: String укажите имя удаляемой директории

rename

Переименовать файл

1 2
static fs.rename(String from, String to) async;

Параметры звонка:

  • from: String, укажите переименованный файл
  • to: String, укажите новое имя файла, который нужно изменить

copyFile

Скопируйте src в dest. По умолчанию, если dest уже существует, он будет перезаписан.

1 2 3
static fs.copyFile(String from, String to, Integer mode = 0) async;

Параметры звонка:

  • from: String укажите имя копируемого исходного файла
  • to: String укажите имя целевого файла, который нужно скопировать
  • mode: Целое число, укажите модификатор операции копирования, по умолчанию 0

mode - необязательное целое число, определяющее поведение операции копирования. Вы можете создать маску, состоящую из побитового ИЛИ двух или более значений (например,fs.constants.COPYFILE_EXCL | fs.constants.COPYFILE_FICLONE).

  • fs.constants.COPYFILE_EXCL - Если адрес назначения уже существует, операция копирования завершится ошибкой.
  • fs.constants.COPYFILE_FICLONE - операция копирования будет пытаться создать ссылку копирования при записи. Если платформа не поддерживает копирование при записи, используется механизм резервного копирования.
  • fs.constants.COPYFILE_FICLONE_FORCE - операция копирования будет пытаться создать ссылку копирования при записи. Если платформа не поддерживает копирование при записи, операция копирования завершится ошибкой.

chmod

Установите разрешение доступа к указанному файлу, Windows не поддерживает этот метод

1 2
static fs.chmod(String path, Integer mode) async;

Параметры звонка:

  • path: String, укажите файл операции
  • mode: Целое число, укажите установленные права доступа

lchmod

Установите разрешение доступа для указанного файла. Если файл является программной ссылкой, разрешение на файл не будет изменено. Доступно только на платформах серий macOS и BSD.

1 2
static fs.lchmod(String path, Integer mode) async;

Параметры звонка:

  • path: String, укажите файл операции
  • mode: Целое число, укажите установленные права доступа

chown

Установите владельца указанного файла, Windows не поддерживает этот метод

1 2 3
static fs.chown(String path, Integer uid, Integer gid) async;

Параметры звонка:

  • path: Строка, файл для задания настроек
  • uid: Целое число, идентификатор пользователя владельца файла
  • gid: Целое число, идентификатор группы владельцев файла

lchown

Установите владельца указанного файла. Если указанный файл является программной ссылкой, владелец указанного файла не будет изменен. Windows не поддерживает этот метод.

1 2 3
static fs.lchown(String path, Integer uid, Integer gid) async;

Параметры звонка:

  • path: Строка, файл для задания настроек
  • uid: Целое число, идентификатор пользователя владельца файла
  • gid: Целое число, идентификатор группы владельцев файла

stat

Запросить основную информацию указанного файла

1
static Stat fs.stat(String path) async;

Параметры звонка:

  • path: String, укажите файл для запроса

Результат возврата:

  • Stat, Верните основную информацию о файле

lstat

Запросить основную информацию указанного файла. Отличие от stat в том, что когдаpathКогда это программная ссылка, информация о программной ссылке будет возвращена вместо информации указанного файла.

1
static Stat fs.lstat(String path) async;

Параметры звонка:

  • path: String, укажите файл для запроса

Результат возврата:

  • Stat, Верните основную информацию о файле

Прочтите указанный файл программного подключения, этот метод не поддерживается в Windows

1
static String fs.readlink(String path) async;

Параметры звонка:

  • path: String, укажите файл мягкого подключения для чтения

Результат возврата:

  • String, Верните имя файла, на которое указывает мягкая ссылка

realpath

Возвращает абсолютный путь указанного пути, если указанный путь содержит относительный путь, он также будет расширен

1
static String fs.realpath(String path) async;

Параметры звонка:

  • path: String, укажите путь для чтения

Результат возврата:

  • String, Вернуть обработанный абсолютный путь

Создать файл мягкого подключения

1 2 3
static fs.symlink(String target, String linkpath, String type = "file") async;

Параметры звонка:

  • target: String, целевой файл, который может быть файлом, каталогом или путем, который не существует
  • linkpath: String, файл программной ссылки, который будет создан
  • type: String, тип созданного мягкого соединения, необязательные типы: 'file', 'dir', 'junction', по умолчанию - 'file', этот параметр действителен только в окнах, когда это 'junction', цель будет создан Путь к ссылке должен быть абсолютным путем, а цель будет автоматически преобразована в абсолютный путь.

truncate

Измените размер файла, если указанная длина больше, чем размер исходного файла, заполните его '\ 0', иначе большее содержимое файла будет потеряно.

1 2
static fs.truncate(String path, Integer len) async;

Параметры звонка:

  • path: String, укажите путь к измененному файлу
  • len: Целое число, укажите размер изменяемого файла

read

В соответствии с файловым дескриптором прочтите содержимое файла

1 2 3 4 5
static Integer fs.read(Integer fd, Buffer buffer, Integer offset = 0, Integer length = 0, Integer position = -1) async;

Параметры звонка:

  • fd: Целое число, дескриптор файла
  • buffer: Buffer, Прочтите результат написанный Buffer Объект
  • offset: Целое число, Buffer Смещение записи, по умолчанию 0
  • length: Целое число, количество байтов, прочитанных из файла, по умолчанию 0
  • position: Целое число, позиция чтения файла, по умолчанию - текущая позиция файла.

Результат возврата:

  • Integer, Количество фактически прочитанных байтов

fchmod

В соответствии с файловым дескриптором изменяется файловый режим. Действует только в системах POSIX.

1 2
static fs.fchmod(Integer fd, Integer mode) async;

Параметры звонка:

  • fd: Целое число, дескриптор файла
  • mode: Целое число, файловый режим

fchown

В соответствии с файловым дескриптором меняется владелец. Действует только в системах POSIX.

1 2 3
static fs.fchown(Integer fd, Integer uid, Integer gid) async;

Параметры звонка:

  • fd: Целое число, дескриптор файла
  • uid: Целое число, идентификатор пользователя
  • gid: Целое число, идентификатор группы

fdatasync

В соответствии с файловым дескриптором синхронизировать данные на диск

1
static fs.fdatasync(Integer fd) async;

Параметры звонка:

  • fd: Целое число, дескриптор файла

fsync

В соответствии с файловым дескриптором синхронизировать данные на диск

1
static fs.fsync(Integer fd) async;

Параметры звонка:

  • fd: Целое число, дескриптор файла

readdir

Прочитать информацию о файле в указанном каталоге

1
static NArray fs.readdir(String path) async;

Параметры звонка:

  • path: String, укажите каталог для запроса

Результат возврата:

  • NArray, Возвращает массив информации о файле каталога

openFile

Откройте файл для чтения, записи или чтения и записи одновременно

1 2
static SeekableStream fs.openFile(String fname, String flags = "r") async;

Параметры звонка:

  • fname: String, укажите имя файла
  • flags: String, укажите метод открытия файла, по умолчанию "r", только для чтения

Результат возврата:

  • SeekableStream, Вернуть открытый файловый объект

Поддерживаемые методы флагов параметров следующие:

  • 'r' доступен только для чтения, будет выдана ошибка, если файл не существует.
  • 'r +' режим чтения и записи, будет выдана ошибка, если файл не существует.
  • Записывается только 'w'. Если файл не существует, он будет создан автоматически, а если существует, он будет очищен.
  • 'w +' режим чтения и записи, файл будет создан автоматически, если он не существует.
  • 'a' записывает только метод добавления, файл будет создан автоматически, если он не существует.
  • Метод добавления чтения-записи 'a +', файл будет создан автоматически, если он не существует.

open

Дескриптор открытого файла

1 2 3
static Integer fs.open(String fname, String flags = "r", Integer mode = 0666) async;

Параметры звонка:

  • fname: String, укажите имя файла
  • flags: String, укажите метод открытия файла, по умолчанию "r", только для чтения
  • mode: Integer, при создании файла укажите режим файла, по умолчанию 0666

Результат возврата:

  • Integer, Вернуть дескриптор открытого файла

Поддерживаемые методы флагов параметров следующие:

  • 'r' доступен только для чтения, будет выдана ошибка, если файл не существует.
  • 'r +' режим чтения и записи, будет выдана ошибка, если файл не существует.
  • Записывается только 'w'. Если файл не существует, он будет создан автоматически, а если существует, он будет очищен.
  • 'w +' режим чтения и записи, файл будет создан автоматически, если он не существует.
  • 'a' записывает только метод добавления, файл будет создан автоматически, если он не существует.
  • Метод добавления чтения-записи 'a +', файл будет создан автоматически, если он не существует.

close

Закрыть дескриптор файла

1
static fs.close(Integer fd) async;

Параметры звонка:

  • fd: Целое число, дескриптор файла

openTextStream

Откройте текстовый файл для чтения, записи или чтения и записи одновременно

1 2
static BufferedStream fs.openTextStream(String fname, String flags = "r") async;

Параметры звонка:

  • fname: String, укажите имя файла
  • flags: String, укажите метод открытия файла, по умолчанию "r", только для чтения

Результат возврата:

  • BufferedStream, Вернуть открытый файловый объект

Поддерживаемые методы флагов параметров следующие:

  • 'r' доступен только для чтения, будет выдана ошибка, если файл не существует.
  • 'r +' режим чтения и записи, будет выдана ошибка, если файл не существует.
  • Записывается только 'w'. Если файл не существует, он будет создан автоматически, а если существует, он будет очищен.
  • 'w +' режим чтения и записи, файл будет создан автоматически, если он не существует.
  • 'a' записывает только метод добавления, файл будет создан автоматически, если он не существует.
  • Метод добавления чтения-записи 'a +', файл будет создан автоматически, если он не существует.

readTextFile

Откройте текстовый файл и прочтите содержимое

1
static String fs.readTextFile(String fname) async;

Параметры звонка:

  • fname: String, укажите имя файла

Результат возврата:

  • String, Возвращает текстовое содержимое файла

readFile

Откройте двоичный файл и прочтите содержимое

1 2
static Variant fs.readFile(String fname, String encoding = "") async;

Параметры звонка:

  • fname: String, укажите имя файла
  • encoding: String, укажите метод декодирования, по умолчанию не декодировать

Результат возврата:

  • Variant, Возвращает текстовое содержимое файла

readLines

Откройте файл и прочтите группу текстовых строк в массиве. Конец строки определяется на основе настройки атрибута EOL. По умолчанию posix: "\ n"; windows: "\ r \ n"

1 2
static Array fs.readLines(String fname, Integer maxlines = -1);

Параметры звонка:

  • fname: String, укажите имя файла
  • maxlines: Целое число, укажите максимальное количество строк, прочитанных в этот раз, по умолчанию прочитайте все текстовые строки

Результат возврата:

  • Array, Возвращает массив строк прочитанного текста, если нет данных для чтения или соединение прервано, пустой массив

writeTextFile

Создайте текстовый файл и напишите контент

1 2
static fs.writeTextFile(String fname, String txt) async;

Параметры звонка:

  • fname: String, укажите имя файла
  • txt: String, укажите строку для записи

writeFile

Создайте двоичный файл и напишите содержимое

1 2
static fs.writeFile(String fname, Buffer data) async;

Параметры звонка:

  • fname: String, укажите имя файла
  • data: Buffer, Укажите двоичные данные для записи

appendFile

Создайте двоичный файл и напишите содержимое

1 2
static fs.appendFile(String fname, Buffer data) async;

Параметры звонка:

  • fname: String, укажите имя файла
  • data: Buffer, Укажите двоичные данные для записи

setZipFS

настраивать zip Отображение виртуальных файлов

1 2
static fs.setZipFS(String fname, Buffer data);

Параметры звонка:

  • fname: String, укажите путь сопоставления
  • data: Buffer, Укажите отображаемый zip Данные файла

clearZipFS

Прозрачный zip Отображение виртуальных файлов

1
static fs.clearZipFS(String fname = "");

Параметры звонка:

  • fname: String, укажите путь сопоставления, по умолчанию очистите все кеши

watch

Наблюдать за файлом и возвращать соответствующий объект-наблюдатель

1
static FSWatcher fs.watch(String fname);

Параметры звонка:

  • fname: String, укажите объект файла для наблюдения

Результат возврата:


Наблюдать за файлом и возвращать соответствующий объект-наблюдатель

1 2
static FSWatcher fs.watch(String fname, Function callback);

Параметры звонка:

  • fname: String, укажите объект файла для наблюдения
  • callback: Функция, (evtType: 'change' | 'rename', filename: string) => anyобратный вызов обработки при изменении файлового объекта

Результат возврата:


Наблюдать за файлом и возвращать соответствующий объект-наблюдатель

1 2
static FSWatcher fs.watch(String fname, Object options);

Параметры звонка:

  • fname: String, укажите объект файла для наблюдения
  • options: Объект, возможности наблюдения

Результат возврата:

Поддерживаются следующие варианты:

1 2 3 4 5
{ "persistent": true, // {boolean} default: true 是否只要目标文件还在被观察, 进程就不退出 "recursive": false, // {boolean} default: false 对于 fname 为文件夹的情况, 是否递归地观察其下所有的子目录 "encoding": "utf8", // {enum} default: 'utf8' 指定解析传入的 fname 的字符编码 }

Наблюдать за файлом и возвращать соответствующий объект-наблюдатель

1 2 3
static FSWatcher fs.watch(String fname, Object options, Function callback);

Параметры звонка:

  • fname: String, укажите объект файла для наблюдения
  • options: Объект, возможности наблюдения
  • callback: Функция, (evtType: 'change' | 'rename', filename: string) => anyобратный вызов обработки при изменении файлового объекта

Результат возврата:

Поддерживаются следующие варианты:

1 2 3 4 5
{ "persistent": true, // {boolean} default: true 是否只要目标文件还在被观察, 进程就不退出 "recursive": false, // {boolean} default: false 对于 fname 为文件夹的情况, 是否递归地观察其下所有的子目录 "encoding": "utf8", // {enum} default: 'utf8' 指定解析传入的 fname 的字符编码 }

watchFile

Наблюдайте за файлом и возвращайте соответствующий StatsWatcher Объект

1 2
static StatsWatcher fs.watchFile(String fname, Function callback);

Параметры звонка:

  • fname: String, укажите объект файла для наблюдения
  • callback: Функция, (curStats: Stats, prevStats: Stats) => anyобратный вызов обработки при изменении статистики файлового объекта.

Результат возврата:


Наблюдайте за файлом и возвращайте соответствующий StatsWatcher Объект

1 2 3
static StatsWatcher fs.watchFile(String fname, Object options, Function callback);

Параметры звонка:

  • fname: String, укажите объект файла для наблюдения
  • options: Объект, возможности наблюдения
  • callback: Функция, (curStats: Stats, prevStats: Stats) => anyобратный вызов обработки при изменении статистики файлового объекта.

Результат возврата:

Поддерживаются следующие варианты:

1 2 3 4 5
{ "persistent": true, // {boolean} default: true 是否只要目标文件还在被观察, 进程就不退出 "recursive": false, // {boolean} default: false 对于 fname 为文件夹的情况, 是否递归地观察其下所有的子目录 "encoding": "utf8", // {enum} default: 'utf8' 指定解析传入的 fname 的字符编码 }

unwatchFile

Из наблюдения fname StatsWatcher Удалите все наблюдаемые события в обратном вызове

1
static fs.unwatchFile(String fname);

Параметры звонка:

  • fname: String, укажите объект файла для наблюдения

Результат возврата:


Из наблюдения fname StatsWatcherОбратный callbackвызов наблюдаемого события удалил обратный вызов

1 2
static fs.unwatchFile(String fname, Function callback);

Параметры звонка:

  • fname: String, укажите объект файла для наблюдения
  • callback: Функция, обратный вызов будет удален

Результат возврата:

Даже если обратного вызова больше нет StatsWatcher В обратном вызове события наблюдения не будет сообщаться об ошибке.

постоянный

SEEK_SET

постоянный режим поиска, перейти в абсолютную позицию

1
const fs.SEEK_SET = 0;

SEEK_CUR

Постоянная режима поиска, переход к относительной позиции текущей позиции

1
const fs.SEEK_CUR = 1;

SEEK_END

константа режима поиска, перейти к относительной позиции конца файла

1
const fs.SEEK_END = 2;