Модуль файловой системы Node.js
Node.js как файловый сервер
Модуль файловой системы Node.js позволяет работать с файловой системой на вашем компьютере.
Чтобы включить модуль файловой системы, используйте
require()
метод:
var fs = require('fs');
Обычное использование модуля файловой системы:
- Чтение файлов
- Создать файлы
- Обновить файлы
- Удалить файлы
- Переименовать файлы
Чтение файлов
Метод fs.readFile()
используется для чтения файлов на вашем компьютере.
Предположим, у нас есть следующий HTML-файл (находящийся в той же папке, что и Node.js):
демо-файл1.html
<html>
<body>
<h1>My Header</h1>
<p>My paragraph.</p>
</body>
</html>
Создайте файл Node.js, который читает HTML-файл и возвращает содержимое:
Пример
var http = require('http');
var fs = require('fs');
http.createServer(function
(req, res) {
fs.readFile('demofile1.html', function(err, data) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(data);
return res.end();
});
}).listen(8080);
Сохраните приведенный выше код в файле с именем «demo_readfile.js» и запустите файл:
Запустите demo_readfile.js:
C:\Users\Your Name>node demo_readfile.js
Если вы выполнили те же действия на своем компьютере, вы увидите тот же результат, что и в примере: http://localhost:8080
Создать файлы
В модуле File System есть методы для создания новых файлов:
fs.appendFile()
fs.open()
fs.writeFile()
Метод fs.appendFile()
добавляет указанное содержимое в файл. Если файл не существует, файл будет создан:
Пример
Создайте новый файл с помощью метода appendFile():
var fs = require('fs');
fs.appendFile('mynewfile1.txt', 'Hello
content!', function (err) {
if (err) throw err;
console.log('Saved!');
});
Метод fs.open()
принимает «флаг» в качестве второго аргумента, если флаг «w» для «записи», указанный файл открывается для записи. Если файл не существует, создается пустой файл:
Пример
Создайте новый пустой файл, используя метод open():
var fs = require('fs');
fs.open('mynewfile2.txt', 'w', function (err,
file) {
if (err) throw err;
console.log('Saved!');
});
Метод fs.writeFile()
заменяет указанный файл и содержимое, если оно существует. Если файл не существует, будет создан новый файл с указанным содержимым:
Пример
Создайте новый файл с помощью метода writeFile():
var fs = require('fs');
fs.writeFile('mynewfile3.txt', 'Hello
content!', function (err) {
if (err) throw err;
console.log('Saved!');
});
Обновить файлы
В модуле File System есть методы для обновления файлов:
fs.appendFile()
fs.writeFile()
Метод fs.appendFile()
добавляет указанное содержимое в конец указанного файла:
Пример
Добавьте «Это мой текст». в конец файла «mynewfile1.txt»:
var fs = require('fs');
fs.appendFile('mynewfile1.txt', ' This is my
text.', function (err) {
if (err) throw err;
console.log('Updated!');
});
Метод fs.writeFile()
заменяет указанный файл и содержимое:
Пример
Замените содержимое файла «mynewfile3.txt»:
var fs = require('fs');
fs.writeFile('mynewfile3.txt', 'This is my text', function (err) {
if (err) throw err;
console.log('Replaced!');
});
Удалить файлы
Чтобы удалить файл с модулем File System, используйте fs.unlink()
метод.
Метод fs.unlink()
удаляет указанный файл:
Пример
Удалить «mynewfile2.txt»:
var fs = require('fs');
fs.unlink('mynewfile2.txt', function (err) {
if (err) throw err;
console.log('File deleted!');
});
Переименовать файлы
Чтобы переименовать файл с модулем файловой системы, используйте fs.rename()
метод.
Метод fs.rename()
переименовывает указанный файл:
Пример
Переименуйте «mynewfile1.txt» в «myrenamedfile.txt»:
var fs = require('fs');
fs.rename('mynewfile1.txt', 'myrenamedfile.txt', function (err) {
if (err) throw err;
console.log('File Renamed!');
});
Загрузить файлы
Вы также можете использовать Node.js для загрузки файлов на свой компьютер.
Узнайте, как это сделать, в нашей главе «Загрузка файлов Node.js» .