const fs = require('fs');
const path = require('path');
 
// 异步读取文件
fs.readFile(path.join(__dirname, 'example.txt'), 'utf8', (err, data) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log(data);
});
 
// 异步写入文件
fs.writeFile(path.join(__dirname, 'example.txt'), 'Hello, Node.js!', 'utf8', (err) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log('文件写入成功');
});
 
// 同步读取文件
try {
  const data = fs.readFileSync(path.join(__dirname, 'example.txt'), 'utf8');
  console.log(data);
} catch (err) {
  console.error(err);
}
 
// 同步写入文件
try {
  fs.writeFileSync(path.join(__dirname, 'example.txt'), 'Hello, Node.js!', 'utf8');
  console.log('文件写入成功');
} catch (err) {
  console.error(err);
}这段代码展示了如何使用Node.js的fs模块和path模块来进行文件的异步和同步读写操作。异步方法不会阻塞程序的执行,而同步方法会阻塞直到操作完成。在实际应用中,异步方法通常是首选,因为它们不会因为等待文件操作而阻塞事件循环。