I/O 文件读写
文件读取
-
同步读取
fs.readFileSync
const fs = require('fs') // 同步读取 // 返回的是Buffer对象,存储二进制信息 // 1字节Byte=== 8bit(0/1) const data = fs.readFileSync('./conf.js') console.log('data', data.toString())
-
异步读取
fs.readFile
const fs = require('fs') // 异步读取 fs.readFile('./test.js', (err, data) => { if (err) throw err console.log('data', data.toString()) })
-
async/await读取(promisify包装)
// async/await读取 (async() => { const fs = require('fs') // util是node自带的工具库 // 使用promisify将fs.readFile包装成promise风格 const { promisify } = require('util') const readFile = promisify(fs.readFile) const data = await readFile('./test.js') console.log('data3', data.toString()); })() process.nextTick(async () => { const fs = require('fs') const { promisify } = require('util') const readFile = promisify(fs.readFile) const data = await readFile('./test.js') console.log('data4', data.toString()) })
-
文件流steam
// 复制一个图片 // 在后面的自定义cli工具,实现下载依赖就会用到此功能 const fs = require('fs') const rs = fs.createReadStream('./1.jpeg') // 源文件流 const ws = fs.createWriteStream('./1.copy.jpeg')//目标文件流 rs.pipe(ws)//创建导管复制