• Node常用模块之fsextra


    项目地址:https://github.com/jprichardson/node-fs-extra

    详细更多的用法可看:https://github.com/jprichardson/node-fs-extra

    fs-extra模块是系统fs模块的扩展,提供了更多便利的 API,并继承了fs模块的 API

    安装:

    npm install --save-dev fs-extra

    使用:

    var fse = require('fs-extra')

    API:

    1. copy 复制文件

    copy(src, dest, [option],callback)

    option:

    • clobber (boolean): 覆盖现有的文件或目录,默认true
    • dereference (boolean): dereference symlinks, default is false
    • preserveTimestamps (boolean): 最后修改和访问时间和原始的源文件一致,默认为false
    • filter: 函数或正则表达式过滤复制文件,返回true包含,否则排除

    同步:
    copySync()

    示例:

    var fs = require('fs-extra');
    fs.copy('/tmp/myfile', '/tmp/mynewfile', function (err) {
       if (err) return console.error(err); 
       console.log("success!")
    }) //拷贝文件
    fs.copy('/tmp/mydir', '/tmp/mynewdir', function (err) {
       if (err) return console.error(err) 
       console.log('success!')
    }) //拷贝目录

    2. emptyDir 清空目录

    确保一个目录是空的。如果目录非空删除目录内容。如果目录不存在,就创建一个。目录本身并不是删除。

    异步:
    emptydir()
    同步:
    emptyDirSync(), emptydirSync()
    示例:

    var fs = require('fs-extra')
    //假设这个目录下有很多文件和文件夹
    fs.emptyDir('/tmp/some/dir', function (err) {
      if (!err) console.log('success!')
    })

    3. ensureFile 创建文件

    确保文件存在。如果被请求的文件的目录不存在,创建这些目录。如果文件已经存在,它不修改。
    异步:
    createFile()
    同步:
    createFileSync(),ensureFileSync()
    示例:

    var fs = require('fs-extra');
    var file = '/tmp/this/path/does/not/exist/file.txt';
    fs.ensureFile(file, function (err) { 
       console.log(err) ;
    })

    4. ensureDir 创建目录

    确保目录的存在。如果目录结构不存在,就创建一个。
    **同步: **
    ensureDirSync()
    示例:

    var fs = require('fs-extra');
    var dir = '/tmp/this/path/does/not/exist';
    fs.ensureDir(dir, function (err) {
       console.log(err);
    })

    5.检查文件是否存在

    在fs模块中,可以使用exists方法检查一个文件或目录是否存在。

    1.语法

    fs.exists(path, callback)

    var isexist = fs.existsSync( path )   //当文件或目录存在时,该值为true,当文件或目录不存在时,该值参数为false

    2.参数

    path:用于指定需要被检查的文件或目录的完整路径及文件名或目录名;

    callback:用于指定检查文件或目录信息操作完毕时执行的回调函数,该回调函数的语法如下所示:

    function(exists){ …… }

    参数:

    exists:当文件或目录存在时,该值为true,当文件或目录不存在时,该值参数为false。

    var fs = require('fs');
    fs.exists( './test.js',function(exists){
        if(exists){
            console.log("该文件存在!");
        }
        else{
            console.log("该文件不存在!");
        }
    });

    运用到cuncumber+webdriver.io中判断本地C盘下载是否有

    Åndedrettssystemet.flipchart

    某个文件

    import assert from "assert"
    const fs = require('fs-extra');
    const file1 = 'C:/Users/admin/Downloads/Åndedrettssystemet.flipchart'
    
    class DownloadResources {
        get operateResourceButton(){ return $$('.icon-round-more_vert-24px')[0]}
        get downloadResourceButton(){ return $$('.ant-dropdown-menu-item')[0]}
        get downloadFlipResourceButton(){ return $$('.ant-dropdown-menu-item')[1]}
        downloadFirstResource(keyword){
            this.operateResourceButton.click()
            if (keyword=='Flipcharts'){
                this.downloadFlipResourceButton.click()
            }else{
                this.downloadResourceButton.click()
            }
        }
    
        verifyFirstResourceHasDownload(){
            fs.pathExists(file).then((exists)=>console.log(exists)).catch((e)=>console.log(e));
        }
    }
    export default new DownloadResources()


  • 相关阅读:
    init_machine 在Kernel中被调用的过程
    maven-surefire-plugin的forkMode分析
    执行Maven install或Maven test命令时控制台输出乱码的解决办法
    Maven 中的dependencies与dependencyManagement的区别
    使用maven profile实现多环境可移植构建
    Maven最佳实践:划分模块
    MySQL的登陆错误:ERROR 1049 (42000): Unknown database 'root'
    Java 连接操作 Redis 出现错误
    关闭多个screen
    linux sed 批量替换字符串
  • 原文地址:https://www.cnblogs.com/chenxiaomeng/p/15935484.html
Copyright © 2020-2023  润新知