fs
fs是node中的内置模块,是用来对文件进行读写,复制,删除,重命名,创建文件,文件夹等操作的
使用fs
stat (检查是文件还是文件夹)
var fs=require('fs');
fs.stat('./module',(err,data)=>{
if(err){console.log(err)}
if(data.isFile()){
//data就是所识别到的给的路径文件的信息
//通过isfile方法判断是不是文件,是文件返回true不是返回false
console.log('./module是文件')
}else{
console.log('./module是文件夹')
}
})
mkdir(创建文件)
fs.mkdir('./test',(err)=>{
if(err){console.log(err)}
console.log('创建成功')
})
writefile(写入内容)
fs.writeFile('./tests.js','var aaa=1;',(err)=>{
//写入内容,如果有文件则覆盖掉原文件的内容,如果没有则创建文件再写入内容
if(err)console.log(err);
console.log('写入成功')
})
appendFile (向文件里写入内容)
fs.appendFile('./tests.js','var aa=1;',(err)=>{
//向文件里写入内同,如果有文件向原文件里添加内容(不会覆盖掉原文件的内容),没有则创建文件再写入内容
if(err)console.log(err);
console.log('写入成功')
})
readFile (读取文件)
fs.readFile('./tests.js',(err,data)=>{
if(err) console.log(err);
//因为读取出来的内容是十六进制的,所以我们需要使用toString方法转换为字符串
console.log(data.toString());
})
readdir(读取文件夹)
fs.readdir('./module',(err,data)=>{
if(err) console.log(err);
//data是一个数组包含了文件夹里的文件和文件夹
console.log(data)
})
rename(对文件重命名)
fs.rename('./tests.js','./module/inde.js',(err,data)=>{
//对文件重命名,并且移动文件
//第一个参数是要重命名的文件,第二个文件是要移动的路径和新的名称
if(err) console.log(err);
console.log(data)
})
rmdir (删除文件夹)
fs.rmdir('module',(err,data)=>{
//删除文件夹,要删除的文件夹的必须是空的
if(err) console.log(err);
console.log(data)
})
unlink(删除文件)
fs.unlink('./tests.js',(err,data)=>{
if(err)console.log(err);
console.log('删除成功')
})
createReadSteam ('文件路径')(以流的方式读取文件)
const readStarm=fs.createReadStream('./tests.js');
readStarm.on('data',data=>{
console.log(data.toString(),'data')
})
readStarm.on('end',()=>{
})
createWriteSteam (以流的方式写入内容)
const wariteStream=fs.createWriteStream('./tests.js');
wariteStream.write('var cod=3;'); //写入内容,会覆盖掉原文件的内容
wariteStream.end();
wariteStream.on('finish',()=>{
//监听写入完成
console.log('写入完成')
})
管道流(读取一个文件的内容写入到另一个文件中)
const c=fs.createReadStream('./tests.js');
const writeSteam=fs.createWriteStream('./aa.js');
c.pipe(writeSteam)
realpath (获取文件的真实路径)
fs.realpath('./test.js',(err,data)=>{
if(err) console.log(err);
console.log(data);
})