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

  • 相关阅读:
    MySQL动态行转列
    决定把BLOG的文章从CU上同步过来
    MYSQL 如果把数据文件保存到其他磁盘里
    开元系统2.0框架平台
    批量修改表引擎
    arcims(HtmlView)开发经验总结1
    arcims 第2讲
    arcims讲座三:怎样设置ArcIMS的权限验证
    arc ims 第一讲
    arcims 讲座四:ArcIMS(HTML Viewer)定制开发探讨
  • 原文地址:https://www.cnblogs.com/shanlu0000/p/13148710.html
Copyright © 2011-2022 走看看