Публикации - Node.js

Ядро Node - Работа с файлами

Для работы с файлами node.js имеет встроенный модуль fs.

Чтение файла:

var fs = require(‘fs’);
fs.readFile(__filename, function(err, data){
 if(err){
  console.log(err);
 } else {
  console.log(data);
 }
});

Где __filename – это имя текущего файла. При запуске получим не содержимое файла, а специальный объект буфер.

Чтобы преобразовать буфер в строку, можно воспользоваться методом toString():

var fs = require(‘fs’);
fs.readFile(__filename, function(err, data){
 if(err){
  console.log(err);
 } else {
  console.log(data.toString(‘utf-8’));
 }
});

Кодировку utf-8 можно не указывать, т.к. она используется как кодировка по умолчанию.

Рассмотрим еще один вариант преобразования в строку: использование кодировки при открытии потока.

var fs = require(‘fs’);
fs.readFile(__filename,{encoding: ‘utf-8’},function(err, data){
 if(err){
  console.log(err);
 } else {
  console.log(data);
 }
});

В этом случае преобразование в строку происходит внутри функции.

Чтение файла построчно:

var fs = require(‘fs’);
var stream = new fs.ReadStream(__filename, {encoding: ‘utf-8’});
stream.on(‘readable’, function(){
 console.log(data);
});
stream.on(‘end’, function(){
 console.log(‘Конец файла’);
});

Событие readable срабатывает при каждом проходе по строке файла. Событие end – при успешном завершении чтения.

Количество комментариев: 0

Для того, чтобы оставить коментарий необходимо зарегистрироваться