美文网首页
node中的内置模块fs

node中的内置模块fs

作者: 公子白521 | 来源:发表于2019-10-10 20:52 被阅读0次


    fs文件系统操作模块

    注:fs 模块=>包括文件目录的创建、删除、查询以及文件的读取、写入等;

    在 fs 模块中,所有的方法都分为同步和异步两种实现,具有 sync 后缀的方法为同步方法,不具有 sync 后缀的方法为异步方法

    文件

    * 读文件    异步  fs.readFile(路径,转码规则,(err,data)=>{})

    *          同步    let res = fs.readFileSync(路径,转码规则)

    * 写文件    异步  fs.writeFile(路径,你要写的内容,(err)=>{})  覆盖式写入

    *        同步    fs.writeFileSync(路径,你要写的内容)        覆盖式写入

    * 写文件    异步  fs.appendFile(路径,你要写的内容,(err)=>{})  追加式写入

    *          同步    fs.appendFileSync(路径,你要写的内容)        追加式写入

    * 删除      异步    fs.unlink(路径,(err)=>{})

    *          同步    fs.unlinkSync(路径)

    * 拷贝文件  异步    fs.copyFile(原路径,新路径,(err)=>{})

    *          同步    fs.copyFileSync(原路径,新路径)

    * 重命名    异步    fs.rename(原路径,新路径,(err)=>{})

    *          同步    fs.renameSync(原路径,新路径)

    文件夹

    * 读取文件夹    异步  fs.readdir(路径,(err,data)=>{})

    *              同步  let res = fs.readdirSync(路径)

    * 创建文件夹    异步  fs.mkdir(路径,(err)=>{})

    *              同步  fs.mkdirSync(路径)

    * 删除空文件夹  异步  fs.rmdir(路径,(err)=>{})

    *              同步  fs.rmdirSync(路径)

    判断文件或文件夹是否存在

    * 只有一个同步      fs.existsSync(路径)  存在返回true  不存在返回false

    ```js

        let fs = require("fs");

        let res = fs.existsSync("./dist/2.js");

        console.log(res)

    ```

    获取文件或文件夹的信息

    * 异步  fs.stat(路径,(err,data)=>{})

    * 同步  let res = fs.statSync(路径) 

    流式读取

    * 1、创建可读流 

    * 2、创建一个可写流

    * 3、pipe输出

    ```js

        let fs = require("fs");

        let rs = fs.createReadStream("./src/1.mp4");

        let ws = fs.createWriteStream("./src/2.mp4");

    ```

    * rs.pipe(ws)

    * 读一点写一点 

    * data事件  当数据改变的时候会被触发

    ```js

        rs.on("data",(thunk)=>{

            console.log(thunk);

            if(!ws.write(thunk)){

                rs.pause()  // 暂停

            }

        })

    ```

    * 写完之后会触发  drain

    ```js

        ws.on("drain",()=>{

            rs.resume();  // 恢复

        })

    ```

    * 读完  end事件

    ```js

        rs.on("end",()=>{

            console.log("成功")

        })

    ```

    相关文章

      网友评论

          本文标题:node中的内置模块fs

          本文链接:https://www.haomeiwen.com/subject/tmtzpctx.html