Файловая система Node.js
Модуль файловой системы Node.js (модульfs) предоставляет богатый API для чтения, записи, удаления файлов и выполнения других операций файловой системы.
Модуль fs поддерживает как синхронные, так и асинхронные методы, позволяя разработчикам выбирать подходящий подход для файловых операций в зависимости от конкретных потребностей.
Импорт модуля fs
Сначала вам нужно импортировать модуль fs:
var fs = require("fs")
Асинхронный и синхронный
Методы в файловой системе Node.js (модуль fs) имеют как асинхронные, так и синхронные версии. Например, функции для чтения содержимого файлов включают асинхронную fs.readFile() и синхронную fs.readFileSync().
Для асинхронных методов последний параметр — это функция обратного вызова, а первый параметр функции обратного вызова содержит информацию об ошибке (error).
Рекомендуется использовать асинхронные методы. По сравнению с синхронными методами асинхронные методы обеспечивают лучшую производительность, более высокую скорость и отсутствие блокировки.
Пример
Создайте файл example.txt со следующим содержимым:
Example官网地址:www.example.com 文件读取实例
Создайте файл file.js со следующим кодом:
Пример
// Асинхронное чтение
fs.readFile('input.txt', function (err, data) {
if (err) {
return console.error(err);
}
console.log("Асинхронное чтение: " + data.toString());
});
// Синхронное чтение
var data = fs.readFileSync('example.txt');
console.log("Синхронное чтение: " + data.toString());
console.log("Выполнение программы завершено.");
Вывод приведённого выше кода следующий:
$ node file.js 同步读取: Example官网地址:www.example.com 文件读取实例 程序执行完毕。 异步读取: Example官网地址:www.example.com 文件读取实例
Запись файла
Асинхронная запись файла:
fs.writeFile('example.txt', 'Hello, World!', (err) => {
if (err) {
console.error('Error writing file:', err);
return;
}
console.log('File written successfully');
});
Синхронная запись файла:
try {
fs.writeFileSync('example.txt', 'Hello, World!');
console.log('File written successfully');
} catch (err) {
console.error('Error writing file:', err);
}
Добавление содержимого в файл
Асинхронное добавление:
fs.appendFile('example.txt', '\nAppending some text', (err) => {
if (err) {
console.error('Error appending to file:', err);
return;
}
console.log('Text appended successfully');
});
Синхронное добавление:
try {
fs.appendFileSync('example.txt', '\nAppending some text');
console.log('Text appended successfully');
} catch (err) {
console.error('Error appending to file:', err);
}
Удалить файл
Асинхронное удаление файла:
fs.unlink('example.txt', (err) => {
if (err) {
console.error('Error deleting file:', err);
return;
}
console.log('File deleted successfully');
});
Синхронное удаление файла:
try {
fs.unlinkSync('example.txt');
console.log('File deleted successfully');
} catch (err) {
console.error('Error deleting file:', err);
}
Создание каталога
Асинхронное создание каталога:
fs.mkdir('new_directory', (err) => {
if (err) {
console.error('Error creating directory:', err);
return;
}
console.log('Directory created successfully');
});
Синхронное создание каталога:
try {
fs.mkdirSync('new_directory');
console.log('Directory created successfully');
} catch (err) {
console.error('Error creating directory:', err);
}
Чтение содержимого каталога
Асинхронное чтение содержимого каталога:
fs.readdir('new_directory', (err, files) => {
if (err) {
console.error('Error reading directory:', err);
return;
}
console.log('Directory contents:', files);
});
Синхронное чтение содержимого каталога:
try {
const files = fs.readdirSync('new_directory');
console.log('Directory contents:', files);
} catch (err) {
console.error('Error reading directory:', err);
}
Проверка существования файла или каталога
Асинхронная проверка:
fs.access('example.txt', fs.constants.F_OK, (err) => {
if (err) {
console.log('File does not exist');
} else {
console.log('File exists');
}
});Синхронная проверка:
try {
fs.accessSync('example.txt', fs.constants.F_OK);
console.log('File exists');
} catch (err) {
console.log('File does not exist');
}Продвинутое использование
1. Файловые потоки
Файловые потоки можно использовать для эффективного чтения и записи больших файлов, не загружая весь файл в память сразу.
Поток чтения файла:
const fs = require('fs');
const readableStream = fs.createReadStream('large_file.txt', 'utf8');
readableStream.on('data', (chunk) => {
console.log('Received chunk:', chunk);
});
readableStream.on('end', () => {
console.log('No more data.');
});
Поток записи файла:
const fs = require('fs');
const writableStream = fs.createWriteStream('output.txt');
writableStream.write('Hello, ');
writableStream.write('World!\n');
writableStream.end();
writableStream.on('finish', () => {
console.log('All writes are now complete.');
});2. Статистика файловой системы
You can usefs.statилиfs.lstatдля получения статистики файла или каталога.
Асинхронное получение статистики:
fs.stat('example.txt', (err, stats) => {
if (err) {
console.error('Error getting stats:', err);
return;
}
console.log('Is file?', stats.isFile());
console.log('Is directory?', stats.isDirectory());
console.log('Size:', stats.size);
});Синхронное получение статистики:
try {
const stats = fs.statSync('example.txt');
console.log('Is file?', stats.isFile());
console.log('Is directory?', stats.isDirectory());
console.log('Size:', stats.size);
} catch (err) {
console.error('Error getting stats:', err);
}
Далее давайте подробнее рассмотрим методы файловой системы Node.js.
Открыть файл
Синтаксис
Ниже приведён синтаксис открытия файла в асинхронном режиме:
fs.open(path, flags[, mode], callback)
Parameters
Параметры описываются следующим образом:
path- path: Путь к файлу.
flags- flags: Поведение при открытии файла. Конкретные значения см. ниже.
mode- mode: Задаёт режим файла (разрешения). Разрешение по умолчанию при создании файла — 0666 (чтение и запись).
callback- callback: Функция обратного вызова с двумя параметрами, например: callback(err, fd).
Параметр flags может принимать следующие значения:
| Флаг | Описание |
|---|---|
| r | Открыть файл в режиме только для чтения. Файл должен существовать. Если файл не существует, выбрасывается исключение. |
| r+ | Открыть файл в режиме чтения и записи. Файл должен существовать. |
| rs | Открыть файл синхронно в режиме только для чтения. Это блокирующая операция, но она может обеспечить лучшую стабильность в некоторых операционных системах. |
| rs+ | Открыть файл синхронно в режиме чтения-записи. Это блокирующая операция, но она может обеспечить лучшую стабильность в некоторых операционных системах. |
| w | Открыть файл в режиме только для записи. Если файл не существует, он создаётся; если файл существует, он усекается. |
| wx | Аналогично 'w', но выдаёт ошибку, если путь существует. |
| w+ | Открыть файл в режиме чтения-записи. Если файл не существует, он создаётся; если файл существует, он усекается. |
| wx+ | Аналогично 'w+', но выдаёт ошибку, если путь существует. |
| a | Открыть файл в режиме добавления. Если файл не существует, он создаётся. |
| ax | Аналогично 'a', но выдаёт ошибку, если путь существует. |
| a+ | Открыть файл в режиме чтения и добавления. Если файл не существует, он создаётся. |
| ax+ | Аналогично 'a+', но завершается ошибкой, если путь существует. |
Пример
Далее мы создаём файл file.js и открываем input.txt для чтения и записи. Код выглядит следующим образом:
var fs = require("fs");
// 异步打开文件
console.log("准备打开文件!");
fs.open('input.txt', 'r+', function(err, fd) {
if (err) {
return console.error(err);
}
console.log("文件打开成功!");
});
Вывод приведённого выше кода следующий:
$ node file.js 准备打开文件! 文件打开成功!
Получение информации о файле
Синтаксис
Ниже приведён синтаксис получения информации о файле в асинхронном режиме:
fs.stat(path, callback)
Parameters
Параметры описываются следующим образом:
path- path: путь к файлу.
callback- callback: функция обратного вызова с двумя параметрами, такими как: (err, stats),statsstats — объект fs.Stats.
После выполнения fs.stat(path) в её функцию обратного вызова возвращается экземпляр класса Stats. Вы можете использовать методы, предоставляемые классом Stats, для определения атрибутов файла. Например, чтобы проверить, является ли он файлом:
var fs = require('fs');
fs.stat('/Users/liuht/code/itbilu/demo/fs.js', function (err, stats) {
console.log(stats.isFile()); //true
})
Методы класса Stats:
| Метод | Описание |
|---|---|
| stats.isFile() | Возвращает true, если это файл, иначе возвращает false. |
| stats.isDirectory() | Возвращает true, если это каталог, иначе возвращает false. |
| stats.isBlockDevice() | Возвращает true, если это блочное устройство, в противном случае возвращает false. |
| stats.isCharacterDevice() | Возвращает true, если это символьное устройство, в противном случае возвращает false. |
| stats.isSymbolicLink() | Возвращает true, если это символьная ссылка, в противном случае возвращает false. |
| stats.isFIFO() | Возвращает true, если это FIFO, в противном случае возвращает false. FIFO — это специальный тип командного канала в UNIX. |
| stats.isSocket() | Возвращает true, если это сокет, в противном случае возвращает false. |
Пример
Далее мы создаём файл file.js. Код выглядит следующим образом:
var fs = require("fs");
console.log("准备打开文件!");
fs.stat('input.txt', function (err, stats) {
if (err) {
return console.error(err);
}
console.log(stats);
console.log("读取文件信息成功!");
// 检测文件类型
console.log("是否为文件(isFile) ? " + stats.isFile());
console.log("是否为目录(isDirectory) ? " + stats.isDirectory());
});
Вывод приведённого выше кода следующий:
$ node file.js
准备打开文件!
{ dev: 16777220,
mode: 33188,
nlink: 1,
uid: 501,
gid: 20,
rdev: 0,
blksize: 4096,
ino: 40333161,
size: 61,
blocks: 8,
atime: Mon Sep 07 2015 17:43:55 GMT+0800 (CST),
mtime: Mon Sep 07 2015 17:22:35 GMT+0800 (CST),
ctime: Mon Sep 07 2015 17:22:35 GMT+0800 (CST) }
读取文件信息成功!
是否为文件(isFile) ? true
是否为目录(isDirectory) ? false
Запись файла
Синтаксис
Ниже приведён синтаксис записи в файл в асинхронном режиме:
fs.writeFile(file, data[, options], callback)
writeFile напрямую открывает файл с флагом по умолчаниюwmode, поэтому, если файл существует, содержимое, записанное этим методом, перезапишет старое содержимое файла.
Parameters
Параметры описываются следующим образом:
file- file: имя файла или файловый дескриптор.
data- data: данные для записи в файл; это может быть String или объект Buffer.
options- options: этот параметр является объектом, содержащим {encoding, mode, flag}. Кодировка по умолчанию — utf8, mode — 0666, а flag — 'w'.
callback- callback: функция обратного вызова содержит только параметр ошибки (err), который возвращается при сбое записи.
Пример
Далее мы создаём файл file.js. Код выглядит следующим образом:
var fs = require("fs");
console.log("准备写入文件");
fs.writeFile('input.txt', '我是通 过fs.writeFile 写入文件的内容', function(err) {
if (err) {
return console.error(err);
}
console.log("数据写入成功!");
console.log("--------我是分割线-------------")
console.log("读取写入的数据!");
fs.readFile('input.txt', function (err, data) {
if (err) {
return console.error(err);
}
console.log("异步读取文件数据: " + data.toString());
});
});
Вывод приведённого выше кода следующий:
$ node file.js 准备写入文件 数据写入成功! --------我是分割线------------- 读取写入的数据! 异步读取文件数据: 我是通 过fs.writeFile 写入文件的内容
Чтение файла
Синтаксис
Ниже приведён синтаксис чтения файлов в асинхронном режиме:
fs.read(fd, buffer, offset, length, position, callback)
Этот метод использует файловый дескриптор для чтения файла.
Parameters
Инструкция по использованию параметров приведена ниже:
fd- файловый дескриптор, возвращаемый методом fs.open().
buffer- буфер, в который будут записаны данные.
offset- смещение записи в буфере.
length- количество байтов для чтения из файла.
position— начальная позиция для чтения файла. Если значение position равно null, чтение начнётся с текущей позиции указателя файла.
callback— функция обратного вызова с тремя параметрами err, bytesRead, buffer. err — сообщение об ошибке, bytesRead указывает количество прочитанных байтов, а buffer — объект буфера.
Пример
Содержимое файла input.txt:
Example官网地址:www.example.com
Далее мы создаём файл file.js со следующим кодом:
var fs = require("fs");
var buf = new Buffer.alloc(1024);
console.log("准备打开已存在的文件!");
fs.open('input.txt', 'r+', function(err, fd) {
if (err) {
return console.error(err);
}
console.log("文件打开成功!");
console.log("准备读取文件:");
fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
if (err){
console.log(err);
}
console.log(bytes + " 字节被读取");
// 仅输出读取的字节
if(bytes > 0){
console.log(buf.slice(0, bytes).toString());
}
});
});
Результат выполнения приведённого выше кода следующий:
$ node file.js 准备打开已存在的文件! 文件打开成功! 准备读取文件: 42 字节被读取 Example官网地址:www.example.com
Закрытие файла
Синтаксис
Ниже приведён синтаксис закрытия файла в асинхронном режиме:
fs.close(fd, callback)
Этот метод использует файловый дескриптор для чтения файла.
Parameters
Инструкция по использованию параметров приведена ниже:
fd- файловый дескриптор, возвращаемый методом fs.open().
callback— функция обратного вызова без параметров.
Пример
Содержимое файла input.txt:
Example官网地址:www.example.com
Далее мы создаём файл file.js со следующим кодом:
var fs = require("fs");
var buf = new Buffer.alloc(1024);
console.log("准备打开文件!");
fs.open('input.txt', 'r+', function(err, fd) {
if (err) {
return console.error(err);
}
console.log("文件打开成功!");
console.log("准备读取文件!");
fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
if (err){
console.log(err);
}
// 仅输出读取的字节
if(bytes > 0){
console.log(buf.slice(0, bytes).toString());
}
// 关闭文件
fs.close(fd, function(err){
if (err){
console.log(err);
}
console.log("文件关闭成功");
});
});
});
Результат выполнения приведённого выше кода следующий:
$ node file.js 准备打开文件! 文件打开成功! 准备读取文件! Example官网地址:www.example.com 文件关闭成功
Усечение файла
Синтаксис
Ниже приведён синтаксис усечения файла в асинхронном режиме:
fs.ftruncate(fd, len, callback)
Этот метод использует файловый дескриптор для чтения файла.
Parameters
Инструкция по использованию параметров приведена ниже:
fd- файловый дескриптор, возвращаемый методом fs.open().
len— длина, до которой усекается содержимое файла.
callback— функция обратного вызова без параметров.
Пример
Содержимое файла input.txt:
site:www.example.com
Далее мы создаём файл file.js со следующим кодом:
var fs = require("fs");
var buf = new Buffer.alloc(1024);
console.log("准备打开文件!");
fs.open('input.txt', 'r+', function(err, fd) {
if (err) {
return console.error(err);
}
console.log("文件打开成功!");
console.log("截取10字节内的文件内容,超出部分将被去除。");
// 截取文件
fs.ftruncate(fd, 10, function(err){
if (err){
console.log(err);
}
console.log("文件截取成功。");
console.log("读取相同的文件");
fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
if (err){
console.log(err);
}
// 仅输出读取的字节
if(bytes > 0){
console.log(buf.slice(0, bytes).toString());
}
// 关闭文件
fs.close(fd, function(err){
if (err){
console.log(err);
}
console.log("文件关闭成功!");
});
});
});
});
Результат выполнения приведённого выше кода следующий:
$ node file.js 准备打开文件! 文件打开成功! 截取10字节内的文件内容,超出部分将被去除。 文件截取成功。 读取相同的文件 site:www.r 文件关闭成功
Удалить файл
Синтаксис
Ниже приведён синтаксис удаления файла:
fs.unlink(path, callback)
Parameters
Инструкция по использованию параметров приведена ниже:
path— путь к файлу.
callback— функция обратного вызова без параметров.
Пример
Содержимое файла input.txt:
site:www.example.com
Далее мы создаём файл file.js со следующим кодом:
var fs = require("fs");
console.log("准备删除文件!");
fs.unlink('input.txt', function(err) {
if (err) {
return console.error(err);
}
console.log("文件删除成功!");
});
Результат выполнения приведённого выше кода следующий:
$ node file.js 准备删除文件! 文件删除成功!
Затем снова проверьте файл input.txt и обнаружите, что он больше не существует.
Создание каталога
Синтаксис
Ниже приведён синтаксис для создания каталога:
fs.mkdir(path[, options], callback)
Parameters
Инструкция по использованию параметров приведена ниже:
path— путь к файлу.
-
Параметр options может быть:
- recursive - Создавать ли каталог рекурсивно, по умолчанию false.
- mode- Установить разрешения каталога, по умолчанию 0777.
callback— функция обратного вызова без параметров.
Пример
Далее мы создаём файл file.js со следующим кодом:
var fs = require("fs");
// tmp 目录必须存在
console.log("创建目录 /tmp/test/");
fs.mkdir("/tmp/test/",function(err){
if (err) {
return console.error(err);
}
console.log("目录创建成功。");
});
Результат выполнения приведённого выше кода следующий:
$ node file.js 创建目录 /tmp/test/ 目录创建成功。
Вы можете добавить параметр recursive: true, независимо от того, существуют ли уже создаваемые каталоги /tmp и /tmp/a:
fs.mkdir('/tmp/a/apple', { recursive: true }, (err) => {
if (err) throw err;
});
Чтение каталога
Синтаксис
Ниже приведён синтаксис для чтения каталога:
fs.readdir(path, callback)
Parameters
Инструкция по использованию параметров приведена ниже:
path— путь к файлу.
callback- Функция обратного вызова, которая имеет два параметра err, files. err — это сообщение об ошибке, а files — массив файлов в каталоге.
Пример
Далее мы создаём файл file.js со следующим кодом:
var fs = require("fs");
console.log("查看 /tmp 目录");
fs.readdir("/tmp/",function(err, files){
if (err) {
return console.error(err);
}
files.forEach( function (file){
console.log( file );
});
});
Результат выполнения приведённого выше кода следующий:
$ node file.js 查看 /tmp 目录 input.out output.out test test.txt
Удаление каталога
Синтаксис
Ниже приведён синтаксис для удаления каталога:
fs.rmdir(path, callback)
Parameters
Инструкция по использованию параметров приведена ниже:
path— путь к файлу.
callback— функция обратного вызова без параметров.
Пример
Далее мы создаём файл file.js со следующим кодом:
var fs = require("fs");
// 执行前创建一个空的 /tmp/test 目录
console.log("准备删除目录 /tmp/test");
fs.rmdir("/tmp/test",function(err){
if (err) {
return console.error(err);
}
console.log("读取 /tmp 目录");
fs.readdir("/tmp/",function(err, files){
if (err) {
return console.error(err);
}
files.forEach( function (file){
console.log( file );
});
});
});
Результат выполнения приведённого выше кода следующий:
$ node file.js 准备删除目录 /tmp/test 读取 /tmp 目录 ……
Справочное руководство по методам файлового модуля
Ниже приведён список методов для файлового модуля Node.js:
| Порядковый номер | Метод и описание |
|---|---|
| 1 | fs.rename(oldPath, newPath, callback) Асинхронный rename(). Функция обратного вызова не имеет параметров, но может выбросить исключение. |
| 2 | fs.ftruncate(fd, len, callback) Асинхронный ftruncate(). Функция обратного вызова не имеет параметров, но может выбросить исключение. |
| 3 | fs.ftruncateSync(fd, len) Синхронный ftruncate() |
| 4 | fs.truncate(path, len, callback) Асинхронный truncate(). Функция обратного вызова не имеет параметров, но может выбросить исключение. |
| 5 | fs.truncateSync(path, len) Синхронный truncate() |
| 6 | fs.chown(path, uid, gid, callback) Асинхронный chown(). Функция обратного вызова не имеет параметров, но может выбросить исключение. |
| 7 | fs.chownSync(path, uid, gid) Синхронный chown() |
| 8 | fs.fchown(fd, uid, gid, callback) Асинхронный fchown(). Функция обратного вызова не имеет параметров, но может выбрасывать исключение. |
| 9 | fs.fchownSync(fd, uid, gid) Синхронный fchown() |
| 10 | fs.lchown(path, uid, gid, callback) Асинхронный lchown(). Функция обратного вызова не имеет параметров, но может выбрасывать исключение. |
| 11 | fs.lchownSync(path, uid, gid) Синхронный lchown() |
| 12 | fs.chmod(path, mode, callback) Асинхронный chmod(). Функция обратного вызова не имеет параметров, но может выбрасывать исключение. |
| 13 | fs.chmodSync(path, mode) Синхронный chmod(). |
| 14 | fs.fchmod(fd, mode, callback) Асинхронный fchmod(). Функция обратного вызова не имеет параметров, но может выбросить исключение. |
| 15 | fs.fchmodSync(fd, mode) Синхронный fchmod(). |
| 16 | fs.lchmod(path, mode, callback) Асинхронный lchmod(). Функция обратного вызова не имеет параметров, но может выбросить исключение. Доступен только на Mac OS X. |
| 17 | fs.lchmodSync(path, mode) Синхронный lchmod(). |
| 18 | fs.stat(path, callback) Асинхронный stat(). Функция обратного вызова имеет два параметра: err, stats. stats — объект fs.Stats. |
| 19 | fs.lstat(path, callback) Асинхронный lstat(). Функция обратного вызова имеет два параметра: err, stats. stats — это объект fs.Stats. |
| 20 | fs.fstat(fd, callback) Асинхронный fstat(). Функция обратного вызова имеет два параметра: err, stats. stats — это объект fs.Stats. |
| 21 | fs.statSync(path) Синхронный stat(). Возвращает экземпляр fs.Stats. |
| 22 | fs.lstatSync(path) Синхронный lstat(). Возвращает экземпляр fs.Stats. |
| 23 | fs.fstatSync(fd) Синхронный fstat(). Возвращает экземпляр fs.Stats. |
| 24 | fs.link(srcpath, dstpath, callback) Асинхронный link(). Функция обратного вызова не имеет параметров, но может выбросить исключение. |
| 25 | fs.linkSync(srcpath, dstpath) Синхронный link(). |
| 26 | fs.symlink(srcpath, dstpath[, type], callback) Асинхронный symlink(). Функция обратного вызова не имеет параметров, но может выбросить исключение. Параметр type может быть установлен в 'dir', 'file' или 'junction' (по умолчанию 'file'). |
| 27 | fs.symlinkSync(srcpath, dstpath[, type]) Синхронный symlink(). |
| 28 | fs.readlink(path, callback) Асинхронный readlink(). Функция обратного вызова имеет два параметра: err, linkString. |
| 29 | fs.realpath(path[, cache], callback) Асинхронный realpath(). Функция обратного вызова имеет два параметра: err, resolvedPath. |
| 30 | fs.realpathSync(path[, cache]) Синхронный realpath(). Возвращает абсолютный путь. |
| 31 | fs.unlink(path, callback) Асинхронный unlink(). Функция обратного вызова не имеет параметров, но может вызвать исключение. |
| 32 | fs.unlinkSync(path) Синхронный unlink(). |
| 33 | fs.rmdir(path, callback) Асинхронный rmdir(). Функция обратного вызова не имеет параметров, но может вызвать исключение. |
| 34 | fs.rmdirSync(path) Синхронный rmdir(). |
| 35 | fs.mkdir(path[, mode], callback) Асинхронный mkdir(2). Функция обратного вызова не имеет параметров, но может вызвать исключение. Права доступа по умолчанию — 0777. |
| 36 | fs.mkdirSync(path[, mode]) Синхронный mkdir(). |
| 37 | fs.readdir(path, callback) Асинхронная readdir(3). Читает содержимое каталога. |
| 38 | fs.readdirSync(path) Синхронная readdir(). Возвращает массив со списком файлов. |
| 39 | fs.close(fd, callback) Асинхронный close(). Функция обратного вызова не имеет параметров, но может выбросить исключение. |
| 40 | fs.closeSync(fd) Синхронный close(). |
| 41 | fs.open(path, flags[, mode], callback) Асинхронно открывает файл. |
| 42 | fs.openSync(path, flags[, mode]) Синхронная версия fs.open(). |
| 43 | fs.utimes(path, atime, mtime, callback) |
| 44 | fs.utimesSync(path, atime, mtime) Изменить временные метки файла, указанного заданным путём к файлу. |
| 45 | fs.futimes(fd, atime, mtime, callback) |
| 46 | fs.futimesSync(fd, atime, mtime) Изменить временные метки файла, указанного файловым дескриптором. |
| 47 | fs.fsync(fd, callback) Асинхронный fsync. Функция обратного вызова не имеет параметров, но может выбросить исключение. |
| 48 | fs.fsyncSync(fd) Синхронный fsync. |
| 49 | fs.write(fd, buffer, offset, length[, position], callback) Записать содержимое буфера в файл, указанный файловым дескриптором. |
| 50 | fs.write(fd, data[, position[, encoding]], callback) Записать содержимое файла через файловый дескриптор fd. |
| 51 | fs.writeSync(fd, buffer, offset, length[, position]) Синхронная версия fs.write(). |
| 52 | fs.writeSync(fd, data[, position[, encoding]]) Синхронная версия fs.write(). |
| 53 | fs.read(fd, buffer, offset, length, position, callback) Прочитать содержимое файла через файловый дескриптор fd. |
| 54 | fs.readSync(fd, buffer, offset, length, position) Синхронная версия fs.read. |
| 55 | fs.readFile(filename[, options], callback) Асинхронно читать содержимое файла. |
| 56 | fs.readFileSync(filename[, options]) |
| 57 | fs.writeFile(filename, data[, options], callback) Асинхронно записывает содержимое файла. |
| 58 | fs.writeFileSync(filename, data[, options]) Синхронная версия fs.writeFile. |
| 59 | fs.appendFile(filename, data[, options], callback) Асинхронно дописывает содержимое в файл. |
| 60 | fs.appendFileSync(filename, data[, options]) Синхронная версия fs.appendFile. |
| 61 | fs.watchFile(filename[, options], listener) Следить за изменениями файла. |
| 62 | fs.unwatchFile(filename[, listener]) Останавливает наблюдение за изменениями filename. |
| 63 | fs.watch(filename[, options][, listener]) Следите за изменениями filename, который может быть файлом или каталогом. Возвращает объект fs.FSWatcher. |
| 64 | fs.exists(path, callback) Проверьте, существует ли указанный путь. |
| 65 | fs.existsSync(path) Синхронная версия fs.exists. |
| 66 | fs.access(path[, mode], callback) Проверьте права пользователя для указанного пути. |
| 67 | fs.accessSync(path[, mode]) Синхронная версия fs.access. |
| 68 | fs.createReadStream(path[, options]) Возвращает объект ReadStream. |
| 69 | fs.createWriteStream(path[, options]) Возвращает объект WriteStream. |
| 70 | fs.symlink(srcpath, dstpath[, type], callback) Асинхронный symlink(). Функция обратного вызова не имеет параметров, но может выбросить исключение. |
Для получения дополнительной информации см. описание файлового модуля на официальном сайте:Файловая система。
Другие расширения