# Метод readFile

Метод `readFile` читает содержимое файла. В первом параметре метода указывается имя файла, во втором и третьем необязательных параметрах - кодировка и коллбэк. Как правило, для чтения задаем кодировку `utf8`, если же опускаем второй параметр, то метод вернет значение буфера в виде бинарных данных.

## Синтаксис

`fs.readFile(имя файла, [кодировка], [коллбэк]);`

## Пример

Давайте асинхронно прочитаем файл через `await`:

`import fs from 'fs/promises'; try { let data = await fs.readFile('file.txt', 'utf8'); console.log(data); } catch (err) { console.log(err); }`

## Пример

А теперь давайте асинхронно прочитаем файл без указания кодировки:

`import fs from 'fs/promises'; try { let data = await fs.readFile('file.txt'); console.log(data); } catch (err) { console.log(err); }`

## Пример

Давайте асинхронно прочитаем файл через `then`:

`import fs from 'fs/promises'; fs.readFile('file.txt', 'utf8').then(data => { console.log(data); }).catch(err => { console.log(err); });`

## Пример

Давайте асинхронно прочитаем файл через коллбэк:

`import fs from 'fs'; fs.readFile('file.txt', 'utf8', function(err, data) { if (!err) { console.log(data); } else { console.log(err); } });`

## Пример

Давайте синхронно прочитаем файл через `readFileSync`:

`import fs from 'fs'; try { let text = fs.readFileSync('file.txt', 'utf8'); console.log(text); } catch (err) { console.log(err); }`

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

- метод `readdir`,
  который читает папки
- метод `read`,
  который читает данные из файла через файловый дескриптор
- метод `createReadStream`,
  открывает поток для чтения данных
- метод `readlink`,
  который читает символическую ссылку
- метод `write`,
  который записывает данные в файл через буфер или строку
- метод `writeFile`,
  который записывает данные в файл

→
↑