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ù)遍歷該文件夾下面的文件
}
}
})
});
}
});
}