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

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模块)