# Метод read

Метод `read` читает данные из файла через файловый дескриптор, указанный в первом параметре метода. Во втором параметре задаем буфер, в третьем необязательном параметре - опции, которые включают понятие `offset` (по умолчанию равно `0`), `length` (по умолчанию результат вычитания длины буфера в байтах минус `offset`), `position` (по умолчанию равно `null`). В четвертом необязательном параметре задаем коллбэк.

## Синтаксис

`fs.read(файловый дескриптор, буфер, [опции], [коллбэк]);`

## Пример

Давайте асинхронно прочитаем данные из файла через коллбэк. Сначала создадим буфер с помощью метода `alloc`, который устанавливает буфер определенного размера, в нашем случае это будет `1024` байт:

`import fs from 'fs'; let fileDescriptor = fs.openSync('file.txt'); const buffer = new Buffer.alloc(1024); fs.read(fileDescriptor, buffer, function(err, bytes, buffer) { let data = buffer.toString('utf8'); if (!err) { console.log(data); } else { console.log(err); } });`

## Пример

Теперь давайте через `readSync` синхронно данные из файла:

`import fs from 'fs'; let fileDescriptor = fs.openSync('file.txt'); const buffer = new Buffer.alloc(1024); try { fs.readSync(fileDescriptor, buffer); let data = buffer.toString('utf8'); console.log(data); } catch (err) { console.log(err); }`

## Смотрите также

- метод `readFile`,
  который читает файл
- метод `readdir`,
  который читает папки
- метод `readlink`,
  который читает символическую ссылку

← →
↑