1. Чтение и просмотр содержимого файлов с использованием цикла:
```javascript
const fs = require('fs');
const path = require('path');
const directoryPath = 'путь_к_директории';
fs.readdir(directoryPath, (err, files) => {
if (err) {
console.log('Ошибка чтения директории:', err);
return;
}
files.forEach(file => {
const filePath = path.join(directoryPath, file);
// Чтение содержимого файла
fs.readFile(filePath, 'utf8', (err, data) => {
if (err) {
console.log('Ошибка чтения файла:', err);
return;
}
console.log(`Содержимое файла ${file}:`, data);
});
});
});
```
2. Асинхронное открытие нескольких JSON файлов, извлечение информации и запись в переменную:
```javascript
const fs = require('fs');
const util = require('util');
const readFileAsync = util.promisify(fs.readFile);
async function processFiles(filePaths) {
try {
const data = [];
for (const filePath of filePaths) {
const fileContent = await readFileAsync(filePath, 'utf8');
const jsonData = JSON.parse(fileContent);
data.push(jsonData);
}
// Дальнейшая обработка данных
console.log(data);
} catch (error) {
console.log('Ошибка:', error);
}
}
const filePaths = [
'путь_к_файлу1.json',
'путь_к_файлу2.json',
'путь_к_файлу3.json'
];
processFiles(filePaths);
```
В этом примере используется `util.promisify` для преобразования функции `fs.readFile` в промисифицированную версию, чтобы можно было использовать `await` для асинхронного чтения файла. Затем каждый файл считывается с использованием `await`, извлекается информация из JSON и записывается в массив `data`.