当前位置:首页 > Web开发 > 正文

Node.js中的fs 模块

2024-03-31 Web开发

标签:

// file system 是node的文件处理模块 const fs = require('fs') const path = require('path') // 1. readFile 此函数用来异步读取文件,并在回调中可以获取读取文件结果 // 这个方法会将一个文件的全部内容都读到内存中,适合于体积小的文本,如果文件有数百MB大小,则建议使用stream let filePath = path.join(__dirname, 'test.txt') fs.readFile(filePath, 'utf8', ( error, data) => { console.log('readFile:', error, data) }) // 1.1 readFileSync 是readFile 的同步版本可以直接返回读取结果 const data1 = fs.readFileSync(filePath, 'utf8') // const data1 = fs.readFileSync(filePath, {encoding:'UTF-8'} ) console.log('readFileSync:', data1) // 2. writeFile 写入文件,第一参数为文件名,如果不存在则会尝试创建它 let writePath = path.join(__dirname, 'test1.txt') let data2 = '这是一个写入的数据' // fs.writeFile(writePath, data2 , 'utf8', ( res ) => { // console.log('writeFile:', res) // }) let writePath1 = path.join(__dirname, 'test2.txt') // 2.1 writeFileSync 写入文件,,writeFile 的同步版本 // const data3 = fs.writeFileSync( writePath1, data2, 'utf8') // console.log('writeFileSync:', data3) // 3. stat(path, callback) 用来获取文件的状态,通常在调用open(),read() 等方法之前,用fs.stat方法 // 判断该文件是否存在,如果存在就会返回文件状态信息 fs.stat(filePath, (error, result) => { // console.log(result) }) // 3.1 同步版本 const data4 = fs.statSync(filePath) // 4. readdir(path, function(error, result)) 读取目录下文件及目录 fs.readdir(__dirname, (error, result) => { console.log('readdir:', error,result) // [ 'buffer.js', 'fs.js', 'test.txt' ] }) // 4.1 获取目录下所有子文件 function getDirFile(dirPath){ fs.readdir(dirPath, (error, result) =>{ console.log('result',result) for (let item of result) { const fileStatus = fs.statSync(path.join(dirPath, item)) // console.log('fileStatus:',fileStatus) // console.log(fileStatus.isDirectory()) // 判断是否为文件夹 if(fileStatus.isDirectory()){ getDirFile(path.join(dirPath, item)) } } }) } getDirFile(__dirname)

Node.js中的fs 模块

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/39655.html