node文件系统fs

    xiaoxiao2022-07-05  178

    node是服务器端语言,所有它是有文件读写系统的,fs模块就是node提供的文件读写系统,在fs文件系统中均有同步,异步版本 异步版本就是最后一个参数为回调函数,回调函数第一个信息为错误信息(error),两种方法建议使用异步,因为异步速度快,性能高,没有堵塞,且能在错误时抛出错误

    文件系统基础操作

    文件读取 异步读取

    let fs = require('fs');//引入fs文件系统 fs.readFile('./new.txt',(err,data)=>{//通过fs.readFile('文件地址',(错误信息,文件内容)=>{}回调函数)方法读取文件 if (err) { throw err //如果错误,抛出错误 }else{ console.log(data) //没有错误,打印文件内容,打印的是计算机码。可以通过toString()转化 } }) 同步读取 let fs = require('fs'); let data = fs.readFileSync('./new.txt');//文件内容赋值给data console.log(data.toString());

    文件写入 如果不存在该文件,则新创建一个,若存在,则覆盖原有文件 异步写入

    let fs = require('fs'); let data = "console.log(Hello word !)"; //定义一个内容方便插入,无关紧要,可以直接在方法里插入 fs.writeFile('./demo.js',data,(err)=>{ //通过fs.writeFile(‘写入的地址’,写入的内容,(错误信息)=>{}回调函数)方法写入数据 if (err) { throw err }else{ console.log("文件写入成功") //文件写入成功则打印 } })

    同步写入

    let fs = require('fs'); fs.writeFileSync('./demo.js','hello node.js!');

    查看文件信息 异步写法

    let fs = require('fs'); fs.stat('./demo.js',(err,state)=>{//通过fs.stat()方法读取文件信息fs.stat('文件地址',(错误信息,文件信息)=>{}回调函数) if (err) { throw err }else{ console.log(state) } })

    同步写法

    let fs = require('fs'); let state = fs.statSync('./demo.js') console.log(state)

    state类中拥有一些方法

    let fs = require('fs'); fs.stat('./demo.js',(err,state)=>{//通过fs.stat()方法读取文件信息fs.stat('文件地址',(错误信息,文件信息)=>{}回调函数) if (err) { throw err }else{ console.log(state.isFile());//判断是不是文件,是返回true console.log(state.isDirectory());//判断是不是目录,是返回true } })

    删除文件

    let fs = require('fs'); fs.unlink('./demo.js',(err)=>{//通过fs.unlink('文件地址',回调函数)方法 if (err) { throw err }else{ console.log("删除成功") } })

    文件夹目录操作

    查看文件夹

    let fs = require('fs'); fs.readdir('./demo',(err,dataDir)=>{//查看文件夹,目录 if (err) { throw err }else{ console.log(dataDir) } });

    删除空文件夹

    fs.rmdir('/Users/xmly/Desktop/node/demo',(err)=>{//通过rmdir()方法 if (err) { throw err }else{ console.log('删除目录成功') } })

    读取流写入流

    什么是流? 所有互联网传输方式都是流,流是一种有起点有重点的数据传输方式 读取流

    let fs = require('fs'); let stream = fs.createReadStream('./data.txt'); //引入读取流 stream.on('data',(value)=>{ console.log(value) }); stream.on('error',(error)=>{ console.log(error) })

    写入流

    let fs = require('fs'); let write = fs.createWriteStream('./new.txt');//引入写入流模板 write.write('i'); write.write('am'); write.write('boy');//分段写入内容 write.end();//表示写入结束 write.on('finish',()=>{ console.log('写入成功')//write完成 }); write.on('error',(error)=>{ console.log(error)//出错时打印 })
    最新回复(0)