创建目录和文件
- 我们可以使用fs.mkdir fs.writeFile来分别创建目录和文件。
- mkdir()可以接收三个参数,第一个是路径,第二个是个可选项代表权限,这个我们一般不需要,第三个参数是一个回调函数,我们可以在这里面做一些处理。
/* learnNode.js */
let fs = require('fs');
fs.mkdir('js',(err)=>{
if(err){
console.log('出错')
}else{
console.log('未出错')
}
})
- writeFile()可以接收四个参数,第一个是路径,第二个是文件内容,第三个可选项代表权限,第四个是回调函数。
/* learnNode.js */
let fs = require('fs');
fs.writeFile('./js/newJs.js','console.log("写入这个")',(err)=>{
if(err){
console.log('出错')
}else{
console.log('没出错')
}
})
检测文件
- 我们可以通过fs.stat来检测一个路径的文件是为目录还是文件,进而可以做一些操作。
/* learnNode.js */
let fs = require('fs');
fs.stat('./js/newJs.js', (error, stats) => {
if(error) {
console.log(error);
return false;
} else {
console.log(`是否文件:${stats.isFile()}`);
console.log(`是否目录:${stats.isDirectory()}`);
return false;
}
})
- star()主要接收两个参数第一个是要检测的文件,第二个是一个回调函数,这个回调函数有两个参数,分别是err错误和stats对象,这个对象提供有关文件的信息,我们可以对这个对象信息来进行判断。
删除文件和删除目录
- 既然我们可以使用NodeJS创建文件那当然我们也可以删除文件,主要使用的是fs.unlink``fs.rmdir这两个API。
/* learnNode.js */
let fs = require('fs');
fs.unlink('./js/newJs.js', (err) => {
if (err) throw err;
console.log('文件已删除');
});
fs.rmdir('./js',(err)=>{
if (err) throw err;
console.log('目录已删除');
})
- 这两个API都分别接收两个参数是路径和回调函数,执行node learnNode.js可以看到我们文件已经成功删除。
追加内容
- 上面我们说到创建文件的时候可以顺便写入东西,那么我们可不可以直接在文件追加文字呢?我们可以使用fs.appendFile。
/* learnNode.js */
let fs = require('fs');
fs.appendFile('newJs.txt','我是追加的内容',(err)=>{
if(err){
console.log('出错')
}else{
console.log('追加内容')
}
})
- appendFile()可以接收三个参数,第一个是路径,第二个是内容,第三个是回调函数,执行node learnNode.js即可。
读取文件和读取目录
- 以上都是对文件进行增删改的操作,我们现在还需要掌握一下读取内容,我们可以使用fs.readFile和fs.readdir分别读取文件和读取目录。
/* learnNode.js */
let fs = require('fs');
fs.readFile('newJs.txt', (err, data) => {
if(err) {
console.log('出错');
} else {
console.log("读取文件成功!");
console.log(data);
}
})
/* learnNode.js */
let fs = require('fs');
fs.readdir('./', (err, data) => {
if(err) {
console.log('出错');
} else {
console.log("读取目录成功!");
console.log(data);
}
})
- 可以看到我们两个API都是接收两个参数,第一个是路径,第二个是回调函数,这个回调函数也有两个参数里面包含了data信息,我们可以打印这个data信息来获取内容。