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

const fs = require("fs");
/*
    stat:
        檢索文件
    語(yǔ)法
        fs.stat(path,(err,stats)=>{})
        isFile:檢索當(dāng)前文件是不是一個(gè)文件
        isDirectory:檢索當(dāng)前文件是不是一個(gè)目錄

    fs.stat("../案例",(err,stats)=>{
        //console.log(stats.isFile())
        console.log(stats.isDirectory())
    })




    mkdir:創(chuàng)建文件夾

    語(yǔ)法:
    fs.mkidr(string,(err)=>{})

    fs.mkdir("./fs",(err)=>{
        console.log(err);
    })

    fs.mkdirSync("./fs",(err)=>{
        console.log(err);
    })
    console.log('122222')


    writeFile:寫入一個(gè)文件  創(chuàng)建一個(gè)文件并寫入一些數(shù)據(jù)

    語(yǔ)法:
        fs.writeFile(參數(shù)1,參數(shù)2,參數(shù)3)
        參數(shù)1:文件名稱  路徑
        參數(shù)2:內(nèi)容  字符串
        參數(shù)3  回調(diào)
    
    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() 讀文件  
        語(yǔ)法
    fs.readFile(參數(shù)1,回調(diào))
    參數(shù)1:文件的路徑
    回調(diào)2
        參數(shù)1:err
        參數(shù)2:data  讀到的文件 buffer


    fs.readFile("./fs/data.txt",(err,data)=>{
        console.log(data+"")
    })

    fs.readyFileSync()



    readdir:列出文件目錄
        fs.readdir(參數(shù)1,參數(shù)2)
        參數(shù)1:路徑
        參數(shù)2:回調(diào)  err  data

    fs.readdir("../案例",(err,data)=>{
        console.log(data);
    })



    rename:重命名文件或者目錄
    fs.rename(參數(shù)1,參數(shù)2,參數(shù)3)
    參數(shù)1:文件名稱
    參數(shù)2:新的名稱
    參數(shù)3 回調(diào)

    fs.rename("./fs","./fss",(err)=>{
        console.log(err)
    })


    fs.renameSync("./fss/data.txt","./fss/json.txt",(err)=>{
        console.log(err)
    })

 */

用node實(shí)現(xiàn)一個(gè)檢索一個(gè)目錄下面所有的文件的方法

var fs = require('fs');
var path = require('path');

//解析需要遍歷的文件夾,我這以E盤根目錄為例
var filePath = path.resolve('C:/Users/Administrator/Desktop/z');

//調(diào)用文件遍歷方法
fileDisplay(filePath);

/**
 * 文件遍歷方法
 * @param filePath 需要遍歷的文件路徑
 */
function fileDisplay(filePath){
    //根據(jù)文件路徑讀取文件,返回文件列表
    fs.readdir(filePath,function(err,files){
        if(err){
            console.warn(err)
        }else{
            //遍歷讀取到的文件列表
            files.forEach(function(filename){
                //獲取當(dāng)前文件的絕對(duì)路徑
                var filedir = path.join(filePath,filename);
                //根據(jù)文件路徑獲取文件信息,返回一個(gè)fs.Stats對(duì)象
                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);//遞歸,如果是文件夾,就繼續(xù)遍歷該文件夾下面的文件
                        }
                    }
                })
            });
        }
    });
}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容