zoukankan      html  css  js  c++  java
  • fs 文件模块

     fs.stat   检测是文件还是目录
    const fs = require('fs')
    fs.stat('./testdir',(err,data)=>{
        if(err){
            console.log(err)
            return
        }
        console.log(`是文件:${data.isFile()}`)
        console.log(`是目录:${data.isDirectory()}`)
    })
    
    /**
     * 是文件:false
     * 是目录:true
     */
     fs.mkdir  创建目录
    const fs = require('fs')
    
    fs.mkdir('./testdir2',(err)=>{
        if(err){
            console.log(err)
            return
        }
        console.log("创建成功")
    })
    /* path: 将创建的目录路径 mode: 目录权限(读写权限),默认777 callback:回调,传递异常参数 err */

    fs.writeFile  创建写入文件

    如果这个文件不存在,会创建这个文件并写入,如果已存在,会执行替换操作

    const fs = require('fs')
    
    fs.writeFile('./testdir/test.txt','你好',(err)=>{
        if(err){
            console.log(err)
            return
        }
        console.log("创建写入文件成功")
    })
    

    fs.appendFile 追加文件

    如果这个文件不存在,会创建这个文件并写入,如果已存在,会在这个文件后面追加内容

    fs.readFile 读取文件

    const fs = require('fs')
    const { Console } = require('console')
    
    fs.readFile('./testdir/test.txt',(err,data)=>{
        if(err){
            console.log(err)
            return
        }
        console.log(data) //<Buffer e4 bd a0 e5 a5 bd 68 65 6c 6c 6f>
        console.log(data.toString()) //把Buffer 转化成string类型,你好hello
    })
    

    fs.readdir读取目录 

    const fs = require('fs')
    
    fs.readdir('./testdir',(err,data)=>{
        if(err){
            console.log(err)
            return
        }
        console.log(data)
    })
    
    /**
     * [ 'test.txt' ]
     */
    

    fs.rename 重命名   功能:①表示重命名  ②移动文件

    const fs = require('fs')
    
    fs.rename('./testdir/test.txt','./testdir/demo.txt',(err)=>{
        if(err){
            console.log(err)
            return
        }
        console.log("重命名成功")
    })
    fs.rename('./testdir/demo.txt','./testdir2/demo.txt',(err)=>{
        if(err){
            console.log(err)
            return
        }
        console.log("移动文件成功")
    })
    

    fs.rmdir  删除目录

    当目录下有文件时,即目录不为空,不能删除,需要先删除目录中的所有文件后才能删除目录

    const fs = require('fs')
    
    fs.rmdir('./demodir',(err)=>{
        if(err){
            console.log(err)
            return
        }
        console.log("删除目录成功")
    })
    

    fs.unlink 删除文件

    const fs = require('fs')
    
    fs.unlink('./demodir/demo.txt',(err)=>{
        if(err){
            console.log(err)
            return
        }
        console.log("删除文件成功")
    })
    判断服务器上面有没有upload目录。如果没有创建这个目录,如果有的话不做操作
    const fs = require('fs')
    const path = './upload'
    
    fs.stat(path,(err,data)=>{
        if(err){ //没有这个目录
           mkdir(path)
        }
        else if(!data.isDirectory()){ //不是文件夹,是文件
            fs.unlink(path, (err) => { //删除这个文件
                if(!err){
                    mkdir(path) //再创建目录
                }
            }) 
        }
    })
    
    //创建目录
    function mkdir(dir_path){
        fs.mkdir(dir_path,(err)=>{
            if(err){
                console.log(err)
                return
            }
        })
    }
    

    可以使用 mkdirp 模块直接实现

    npm i mkdirp --save 
    var mkdirp = require('mkdirp');
    
    mkdirp('./upload', function (err) {
        if (err) {
            console.error(err);
        }    
    });
    

    https://www.npmjs.com/package/mkdirp

  • 相关阅读:
    NLP---word2vec的python实现
    matplotlib---Annotation标注
    matplotlib---legend图例
    matplotlib---设置坐标轴
    windows下右键新建md文件
    vue+webpack+npm 环境内存溢出解决办法
    element-ui tree树形组件自定义实现可展开选择表格
    vue-动态验证码
    ES6 数组函数forEach()、map()、filter()、find()、every()、some()、reduce()
    eslint配置文件规则
  • 原文地址:https://www.cnblogs.com/shanlu0000/p/13148710.html
Copyright © 2011-2022 走看看