node_fs模块_读写文件
读取方法:
const fs = require("fs"); // 异步读取 fs.readFile('./text.txt', (err, data) => { console.log(data.toString()) }) // 同步读取 const data = fs.readFileSync('./text.txt') console.log(data.toString()) // 流式读取 const rs = fs.createReadStream('./text.txt'); rs.on('data', chunk => { console.log(chunk.length); })
写入方法:
const fs = require('fs'); // 异步写入 fs.writeFile('./text.txt', '马上要来了', err => { console.log(err)}) // 同步写入 fs.writeFileSync('./text.txt', `${new Date()}`) // 异步追加写入 fs.appendFile('./text.txt', '窗前明月光', err => {console.log(err)}) // 同步追加写入 fs.appendFileSync('./text.txt', '疑是地上霜', err => {console.log(err)}) // 流式写入 const wsfile = fs.createWriteStream('./text.txt'); wsfile.write('窗前明月光\r\n'); wsfile.write('疑是地上霜\r\n'); wsfile.write('举头望明月\r\n'); wsfile.write('低头思故乡\r\n'); wsfile.end();
读写实例:
const fs = require("fs"); // 1.同步读写, 小文件可能使用这种方式, 大文件会造成内存占用量变大 const data = fs.readFileSync('./东屋/逮虾户.mp3') fs.writeFileSync('./东屋/逮虾户-2.mp3', data) // 2.流式读写, 读写的实例对象上分别挂载多个方法, 并不是只有on const rs = fs.createReadStream('./东屋/逮虾户.mp3'); const ws = fs.createWriteStream('./东屋/逮虾户-1.mp3'); rs.on('data', data=>{ ws.write(data) }); rs.on('end', () => { console.log(process.memoryUsage()) // 查看内存占用 rss除以1024得到kb再除以1024等于兆 }) // 3.读写法rs.pipe(管道) rs.pipe(ws) // 读取流完事通过管道交给写入流