fs模块
要使用fs模块,需要先引入fs
var fs=require('fs');
1.fs.stat 检测时文件还是目录
fs.stat("index.txt",function(err,stats){
if(err){
console.log("错误"+err);
return false;
}
console.log('文件:'+stats.isFile());
console.log('目录'+stats.isDirectory());
})
2.fs.mkdir 创建目录
接收参数
path 将创建的文件目录
mode 目录权限(读写权限),默认0777
callback 回调,传递异常参数err
fs.mkdir("fs_module/css",function(err){
if(err){
console.log(err);
return false;
}
console.log("创建文件成功");
})
- fs.writeFile() 创建写入文件
filename (string) 文件名称
data (string | buffer) 将要写入的内容,可以使字符串或buffer数据
options (Object) option数组对象,包含:
.emcoding (string) 可选值,默认‘utf-8’ ,当data使buffer时,该值应该为ignored
.mode (Number) 文件读写权限,默认值43
.flag (string) 默认值‘w’
callback(function) 回调,传递一个异常参数err
fs.writeFile('fs_module/t.txt',"你好node2222ssss","utf-8",function(err){
if(err){
console.log(err);
return false;
}
console.log("创建文件成功");
})
4.fs.appendFile() 追加文件
fs.appendFile('fs_module/t1.txt',"你好,这是写入的文件","utf-8",function(err){
if(err){
console.log(err);
return false;
}
console.log("创建文件成功");
})
5.fs.readFile() 读取文件
fs.readFile('fs_module/t1.txt',function(err,data){
if(err){
console.log(err);
return false;
}
console.log(data.toString());
})
6.fs.readdir读取目录,把目录下面的文件和文件夹都获取到
fs.readdir('fs_module/html',function(err,data){
if(err){
console.log(err);
return false;
}
console.log(data);
})
7.fs.rename 重命名
fs.rename('fs_module/html/index.txt','fs_module/html/new.txt',function(err){
if(err){
console.log(err);
}
})
8.fs.rmdir 删除目录
fs.rmdir('fs_module/t',function(err){
if(err){
console.log(err);
}
})
9.fs.unlink删除文件
fs.unlink('fs_module/t.txt',function(err){
if(err){
console.log(err);
}
})
流的方式读取文件
var readStream=fs.createReadStream("fs_module/index.txt");
var str='';
var count=0;
readStream.on('data',function(chunk){
str+=chunk;
count++;
})
// 读取完成
readStream.on('end',function(chunk){
console.log(count);
console.log(str)
})
readStream.on('error',function(err){
console.log(err);
})
创建一个可以写入的流,写入到文件output.txt中
var data="创建一个可以写入的流,写入到文件output.txt中";
var writeStream=fs.createWriteStream("fs_module/copy.txt");
writeStream.write(data,'utf-8');
//标记写入完成
writeStream.end();
writeStream.on("finish",function(){
console.log('写入完成');
})
writeStream.on("error",function(){
console.log('写入失败');
})
管道流
var readStream=fs.createReadStream("fs_module/index.txt");
var writeStream=fs.createWriteStream("fs_module/copy.txt");
// 管道读取操作
// 读取index.txt文件内容,并将内容写入到copy.txt文件中
readStream.pipe(writeStream);
`