fs模块
是Node.js官方提供的、用来操作文件的模块。它提供了一系列的方法和属性,来满足用户对文件的操作需求。
如果要在JavaScript代码中使用fs模块来操作文件,则需要使用如下的方式导入:
const fs = require('fs')
模块中的所有方法都有同步和异步两种方法。
同步就是给方法后加上Sync
。
比如:
fs.resdFile()异步读取
fs.readFileSync()同步读取
使用fs.readFile()方法,可以读取指定文件中的内容,语法格式如下:
fs.readFile(path[,options],callback)
参数解读:
参数1:path必选参数,字符串,表示文件的路径。
参数2:options可选参数,表示以什么编码格式来读取文件。
参数3:必选参数,文件读取完成后,通过回调函数拿到读取的结果。
示例:
const fs = require('fs'); // 引入fs模块
fs.readFile('./test.txt','utf8',function(err, data) {
if (err) {
return console.log('文件读取失败!'+ err.message);
}
// 读取文件成功
console.log('文件读取成功,内容是' + data);
});
使用fs.writeFile()方法,向指定文件中写入内容,语法格式如下:
fs.writeFile(filename,data[,options],callback)
参数解读:
参数1:filename必选参数,需要指定一个文件路径的字符串,表示文件的存放路径。
参数2:data必选参数,表示要写入的内容。
参数3:可选参数,表示以什么格式写入文件内容,默认值是utf8。
参数4:callback必选参数,文件写入完成后的回调函数。
示例:
const fs = require('fs'); // 引入fs模块
// 写入文件内容(如果文件不存在会创建一个文件)
// 写入时会先清空文件
fs.writeFile('./test.txt','abcd','utf8',function(){
if(err){
return console.log('文件写入失败!' + err.message)
}
console.log('文件写入成功!')
})
使用fs.copyFile()方法,copy指定文件夹
示例:
const fs = require('fs');
fs.copyFile('../files/readme.txt','../files/readme copy.txt',function(){
console.log('复制成功')
})
代码如下:
let fs=require('fs');
//读取temp.txt文件
fs.readFile('../files/temp.txt',function(err,data){
if(!err){
let result = data.toString()
//给temp copy.txt文件写入内容
fs.writeFile('../files/temp copy.txt',result,()=>{
console.log('写入成功')
})
}
})
删除文件
示例:
let fs = require('fs');
//删除文件
fs.unlink('../files/readme copy.txt',function(){
console.log('删除成功')
})
创建文件夹
示例:
function createDirectory(){
fs.mkdir('../files/ff',()=>{
console.log('创建文件夹成功')
})
}
删除文件夹
示例:
function deleteDirectory(){
fs.rmdir('../files/ff',()=>{
console.log('删除文件夹成功')
})
}