美文网首页
@芥末的糖-----fs模块

@芥末的糖-----fs模块

作者: 芥末的糖 | 来源:发表于2018-12-20 14:26 被阅读0次
    const fs = require("fs");
    /*
        stat:
            检索文件
        语法
            fs.stat(path,(err,stats)=>{})
            isFile:检索当前文件是不是一个文件
            isDirectory:检索当前文件是不是一个目录
    
        fs.stat("../案例",(err,stats)=>{
            //console.log(stats.isFile())
            console.log(stats.isDirectory())
        })
    
    
    
    
        mkdir:创建文件夹
    
        语法:
        fs.mkidr(string,(err)=>{})
    
        fs.mkdir("./fs",(err)=>{
            console.log(err);
        })
    
        fs.mkdirSync("./fs",(err)=>{
            console.log(err);
        })
        console.log('122222')
    
    
        writeFile:写入一个文件  创建一个文件并写入一些数据
    
        语法:
            fs.writeFile(参数1,参数2,参数3)
            参数1:文件名称  路径
            参数2:内容  字符串
            参数3  回调
        
        fs.writeFile("./fs/data.txt","张三",(err)=>{
            console.log(err);
        })
    
        fs.writeFileSync("./fs/data.txt","张三",(err)=>{
            console.log(err);
        })
    
    
        插入
            appendFile()
            appendFileSync()
    
        fs.appendFile("./fs/data.txt","张三",(err)=>{
            console.log(err);
        })
    
    
    
    
        readFile() 读文件  
            语法
        fs.readFile(参数1,回调)
        参数1:文件的路径
        回调2
            参数1:err
            参数2:data  读到的文件 buffer
    
    
        fs.readFile("./fs/data.txt",(err,data)=>{
            console.log(data+"")
        })
    
        fs.readyFileSync()
    
    
    
        readdir:列出文件目录
            fs.readdir(参数1,参数2)
            参数1:路径
            参数2:回调  err  data
    
        fs.readdir("../案例",(err,data)=>{
            console.log(data);
        })
    
    
    
        rename:重命名文件或者目录
        fs.rename(参数1,参数2,参数3)
        参数1:文件名称
        参数2:新的名称
        参数3 回调
    
        fs.rename("./fs","./fss",(err)=>{
            console.log(err)
        })
    
    
        fs.renameSync("./fss/data.txt","./fss/json.txt",(err)=>{
            console.log(err)
        })
    
     */
    
    

    用node实现一个检索一个目录下面所有的文件的方法

    var fs = require('fs');
    var path = require('path');
    
    //解析需要遍历的文件夹,我这以E盘根目录为例
    var filePath = path.resolve('C:/Users/Administrator/Desktop/z');
    
    //调用文件遍历方法
    fileDisplay(filePath);
    
    /**
     * 文件遍历方法
     * @param filePath 需要遍历的文件路径
     */
    function fileDisplay(filePath){
        //根据文件路径读取文件,返回文件列表
        fs.readdir(filePath,function(err,files){
            if(err){
                console.warn(err)
            }else{
                //遍历读取到的文件列表
                files.forEach(function(filename){
                    //获取当前文件的绝对路径
                    var filedir = path.join(filePath,filename);
                    //根据文件路径获取文件信息,返回一个fs.Stats对象
                    fs.stat(filedir,function(eror,stats){
                        console.log(stats)
                        if(eror){
                            console.warn('获取文件stats失败');
                        }else{
                            var isFile = stats.isFile();//是文件
                            var isDir = stats.isDirectory();//是文件夹
                            if(isFile){
                                console.log(filedir);
                            }
                            if(isDir){
                                fileDisplay(filedir);//递归,如果是文件夹,就继续遍历该文件夹下面的文件
                            }
                        }
                    })
                });
            }
        });
    }
    
    

    相关文章

      网友评论

          本文标题:@芥末的糖-----fs模块

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