JS输出文件到本地本质上是使用node.js,这里我们采用fs模块,下面是fs的方法
1. const fs = require('fs');
//创建目录
fs.mkdir('./testDir', (err)=>{
if(err){
console.log(err);
return;
}
console.log('创建目录完成')
})
//创建文件并写入文件
fs.writeFile('./test.txt','Hello, node.js', (err)=>{
if(err){
console.log(err)
return
}
console.log('创建写入文件成功')
})
//添加文件内容
fs.appendFile('./test.txt', 'rnHello Vincent', (err)=>{
if(err){
console.log(err)
return;
}
console.log('appendFile 成功')
})
//读取文件内容
fs.readFile('./test.txt', (err, data)=>{
if(err){
consolog.log(err)
return
}
console.log(data.toString())
})
//读取目录
fs.readdir('.', (err, data)=>{
if(err){
console.log(err)
return
}
console.log(data)
})
//重命名
注:这个方法要注意的是,一方面是重命名,另一方面如果如果目标文件不在同一个目录,那么这个方法其实是移动文件到目标目录。
fs.rename('./test.txt', './testDir/test.txt', (err) => {
if(err){
console.log(err)
return
}
console.log('移动文件成功')
})
//删除文件
fs.unlink('./test.txt', (err)=>{
if(err){
console.log(err)
return
}
console.log('删除文件成功')
})
//删除目录
注:只有当目录是一个空目录时,才能被删除,否则会报错。所以需要先遍历目录,将目录下的文件或者子目录删除后,才能删除当前目录。如果子目录下还有子目录,就需要递归了。通过npm也可以下载另外的文件处理模块,可以直接删除目录,当然里面已经封装好了删除文件和子目录的代码。
fs.rmdir('./testDir', (err)=>{
if(err){
console.log(err)
return
}
console.log('删除目录成功')
})