Файловая система 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 со следующим кодом:

Пример

var fs = require("fs");

// Асинхронное чтение
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:

Порядковый номерМетод и описание
1fs.rename(oldPath, newPath, callback)
Асинхронный rename(). Функция обратного вызова не имеет параметров, но может выбросить исключение.
2fs.ftruncate(fd, len, callback)
Асинхронный ftruncate(). Функция обратного вызова не имеет параметров, но может выбросить исключение.
3fs.ftruncateSync(fd, len)
Синхронный ftruncate()
4fs.truncate(path, len, callback)
Асинхронный truncate(). Функция обратного вызова не имеет параметров, но может выбросить исключение.
5fs.truncateSync(path, len)
Синхронный truncate()
6fs.chown(path, uid, gid, callback)
Асинхронный chown(). Функция обратного вызова не имеет параметров, но может выбросить исключение.
7fs.chownSync(path, uid, gid)
Синхронный chown()
8fs.fchown(fd, uid, gid, callback)
Асинхронный fchown(). Функция обратного вызова не имеет параметров, но может выбрасывать исключение.
9fs.fchownSync(fd, uid, gid)
Синхронный fchown()
10fs.lchown(path, uid, gid, callback)
Асинхронный lchown(). Функция обратного вызова не имеет параметров, но может выбрасывать исключение.
11fs.lchownSync(path, uid, gid)
Синхронный lchown()
12fs.chmod(path, mode, callback)
Асинхронный chmod(). Функция обратного вызова не имеет параметров, но может выбрасывать исключение.
13fs.chmodSync(path, mode)
Синхронный chmod().
14fs.fchmod(fd, mode, callback)
Асинхронный fchmod(). Функция обратного вызова не имеет параметров, но может выбросить исключение.
15fs.fchmodSync(fd, mode)
Синхронный fchmod().
16fs.lchmod(path, mode, callback)
Асинхронный lchmod(). Функция обратного вызова не имеет параметров, но может выбросить исключение. Доступен только на Mac OS X.
17fs.lchmodSync(path, mode)
Синхронный lchmod().
18fs.stat(path, callback)
Асинхронный stat(). Функция обратного вызова имеет два параметра: err, stats. stats — объект fs.Stats.
19fs.lstat(path, callback)
Асинхронный lstat(). Функция обратного вызова имеет два параметра: err, stats. stats — это объект fs.Stats.
20fs.fstat(fd, callback)
Асинхронный fstat(). Функция обратного вызова имеет два параметра: err, stats. stats — это объект fs.Stats.
21fs.statSync(path)
Синхронный stat(). Возвращает экземпляр fs.Stats.
22fs.lstatSync(path)
Синхронный lstat(). Возвращает экземпляр fs.Stats.
23fs.fstatSync(fd)
Синхронный fstat(). Возвращает экземпляр fs.Stats.
24fs.link(srcpath, dstpath, callback)
Асинхронный link(). Функция обратного вызова не имеет параметров, но может выбросить исключение.
25fs.linkSync(srcpath, dstpath)
Синхронный link().
26fs.symlink(srcpath, dstpath[, type], callback)
Асинхронный symlink(). Функция обратного вызова не имеет параметров, но может выбросить исключение. Параметр type может быть установлен в 'dir', 'file' или 'junction' (по умолчанию 'file').
27fs.symlinkSync(srcpath, dstpath[, type])
Синхронный symlink().
28fs.readlink(path, callback)
Асинхронный readlink(). Функция обратного вызова имеет два параметра: err, linkString.
29fs.realpath(path[, cache], callback)
Асинхронный realpath(). Функция обратного вызова имеет два параметра: err, resolvedPath.
30fs.realpathSync(path[, cache])
Синхронный realpath(). Возвращает абсолютный путь.
31fs.unlink(path, callback)
Асинхронный unlink(). Функция обратного вызова не имеет параметров, но может вызвать исключение.
32fs.unlinkSync(path)
Синхронный unlink().
33fs.rmdir(path, callback)
Асинхронный rmdir(). Функция обратного вызова не имеет параметров, но может вызвать исключение.
34fs.rmdirSync(path)
Синхронный rmdir().
35fs.mkdir(path[, mode], callback)
Асинхронный mkdir(2). Функция обратного вызова не имеет параметров, но может вызвать исключение. Права доступа по умолчанию — 0777.
36fs.mkdirSync(path[, mode])
Синхронный mkdir().
37fs.readdir(path, callback)
Асинхронная readdir(3). Читает содержимое каталога.
38fs.readdirSync(path)
Синхронная readdir(). Возвращает массив со списком файлов.
39fs.close(fd, callback)
Асинхронный close(). Функция обратного вызова не имеет параметров, но может выбросить исключение.
40fs.closeSync(fd)
Синхронный close().
41fs.open(path, flags[, mode], callback)
Асинхронно открывает файл.
42fs.openSync(path, flags[, mode])
Синхронная версия fs.open().
43fs.utimes(path, atime, mtime, callback)
 
44fs.utimesSync(path, atime, mtime)
Изменить временные метки файла, указанного заданным путём к файлу.
45fs.futimes(fd, atime, mtime, callback)
 
46fs.futimesSync(fd, atime, mtime)
Изменить временные метки файла, указанного файловым дескриптором.
47fs.fsync(fd, callback)
Асинхронный fsync. Функция обратного вызова не имеет параметров, но может выбросить исключение.
48fs.fsyncSync(fd)
Синхронный fsync.
49fs.write(fd, buffer, offset, length[, position], callback)
Записать содержимое буфера в файл, указанный файловым дескриптором.
50fs.write(fd, data[, position[, encoding]], callback)
Записать содержимое файла через файловый дескриптор fd.
51fs.writeSync(fd, buffer, offset, length[, position])
Синхронная версия fs.write().
52fs.writeSync(fd, data[, position[, encoding]])
Синхронная версия fs.write().
53fs.read(fd, buffer, offset, length, position, callback)
Прочитать содержимое файла через файловый дескриптор fd.
54fs.readSync(fd, buffer, offset, length, position)
Синхронная версия fs.read.
55fs.readFile(filename[, options], callback)
Асинхронно читать содержимое файла.
56fs.readFileSync(filename[, options])
57fs.writeFile(filename, data[, options], callback)
Асинхронно записывает содержимое файла.
58fs.writeFileSync(filename, data[, options])
Синхронная версия fs.writeFile.
59fs.appendFile(filename, data[, options], callback)
Асинхронно дописывает содержимое в файл.
60fs.appendFileSync(filename, data[, options])
Синхронная версия fs.appendFile.
61fs.watchFile(filename[, options], listener)
Следить за изменениями файла.
62fs.unwatchFile(filename[, listener])
Останавливает наблюдение за изменениями filename.
63fs.watch(filename[, options][, listener])
Следите за изменениями filename, который может быть файлом или каталогом. Возвращает объект fs.FSWatcher.
64fs.exists(path, callback)
Проверьте, существует ли указанный путь.
65fs.existsSync(path)
Синхронная версия fs.exists.
66fs.access(path[, mode], callback)
Проверьте права пользователя для указанного пути.
67fs.accessSync(path[, mode])
Синхронная версия fs.access.
68fs.createReadStream(path[, options])
Возвращает объект ReadStream.
69fs.createWriteStream(path[, options])
Возвращает объект WriteStream.
70fs.symlink(srcpath, dstpath[, type], callback)
Асинхронный symlink(). Функция обратного вызова не имеет параметров, но может выбросить исключение.

Для получения дополнительной информации см. описание файлового модуля на официальном сайте:Файловая система。

Другие расширения