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);//递归,如果是文件夹,就继续遍历该文件夹下面的文件
}
}
})
});
}
});
}
网友评论