@greyson
В Node.js для работы с файлами используется встроенный модуль fs
(file system). Существует несколько способов чтения и записи файлов, включая асинхронные и синхронные методы. Рассмотрим основные из них.
Чтение файла
- Асинхронное чтение (рекомендуется):
Используйте fs.readFile для асинхронного чтения файла. Этот подход позволяет вашему приложению продолжать выполнять другие операции, пока файл читается.
const fs = require('fs');
fs.readFile('path/to/file.txt', 'utf8', (err, data) => {
if (err) {
console.error(err);
return;
}
console.log(data);
});
- Синхронное чтение:
Используйте fs.readFileSync, если вам нужно сразу получить данные из файла. Обратите внимание, что синхронные операции блокируют выполнение других операций в процессе.
const fs = require('fs');
try {
const data = fs.readFileSync('path/to/file.txt', 'utf8');
console.log(data);
} catch (err) {
console.error(err);
}
Запись файла
- Асинхронная запись (рекомендуется):
Используйте fs.writeFile для асинхронной записи в файл.
const fs = require('fs');
const content = 'Some content to write to the file';
fs.writeFile('path/to/file.txt', content, err => {
if (err) {
console.error(err);
return;
}
console.log('File has been written');
});
- Синхронная запись:
Используйте fs.writeFileSync для синхронной записи в файл.
const fs = require('fs');
const content = 'Some content to write to the file';
try {
fs.writeFileSync('path/to/file.txt', content);
console.log('File has been written');
} catch (err) {
console.error(err);
}
Дополнительно
- Для добавления данных в существующий файл используйте fs.appendFile или fs.appendFileSync.
- При работе с большими файлами стоит рассмотреть использование потоков (fs.createReadStream и fs.createWriteStream) для более эффективного управления памятью.
Вот краткое введение в чтение и запись файлов в Node.js. Самая главная рекомендация — по возможности использовать асинхронные методы для избегания блокировки исполнения.