node文件模块fs

fs模块主要是进行文件的一些操作,下面就来看看

首先是读取文件操作

const fs=require('fs');

//异步读取文件,第一个参数是文件路径,第二个参数是编码格式,第三个参数是错误优先的回调函数
fs.readFile('./index.html','utf-8',(err,data)=>{
     if(err)return false;
     console.log(data)
})
//同步读取文件
var data=fs.readFileSync('./index.html','utf-8');
console.log(data)

//编码格式可以省略,如果不写明编码格式,打印的是一串16进制的数据

然后是写入文件操作,

   fs.readFile('./index.html',(err,data)=>{
       if(err)return false;
     fs.writeFile('./index1.html',data,(err,data)=>{
         if(err)return false;
     })
    // fs.writeFileSync('./index1.html',data)
   })

//写入文件也有同步和异步,第一个参数为文件相对路径,第二个参数为要写入的数据,异步第三个参数为错误优先的回调函数。如果要写入的文件不存在则自动创建,如果存在则默认会覆盖文件原有内容

这里说一下,可以在函数中再添加一个参数{flag:'a'},在第三个参数上,这样就会在原文件的基础上追加内容。flag默认值是w,即重写,a是追加,r是读取

//异步
 fs.writeFile('./index.html','xxx',{flag:'a'},(err,data)=>{
     if(err){console.log(err)}
 })
//同步
fs.writeFileSync('./index.html','xxx',{flag:'a'});

还有一个写入文件操作是可以不清除文件内容的,即在原文件的基础上再添加新内容

//异步
fs.appendFile('./index.html','添加文件内容',(err,data)=>{
    if(err)console.log('失败')
    
})
//同步 参数与上面一致
fs.appendFileSync('./index.html','添加文件内容');

然后是复制文件内容

//异步,第一个参数是被文件路径,第二个参数是复制生成的文件路径,如果存在则覆盖原来的内容
fs.copyFile('./index.html','./index1.html',(err,data)=>{
    if(err){
    console.log(err)}
})
//同步
fs.copyFileSync('./index.html','./index1.html')

接下来是删除文件,这里删除的文件不会放进回收站

//异步
fs.unlink('./index.html',(err,data)=>{
    if(err){
    console.log(err)}
})
//同步
fs.unlinkSync('./index.html')

还有创建目录

//如果 recursive 为 true,则会带上创建的第一个文件夹的路径,默认是false
//异步
fs.mkdir('project',{recursive:true},(err,path)=>{
    if(err)console.log(err)
})
//同步
fs.mkdirSync('project',{recursive:true})

清除目录

//异步
//recursive <boolean> 如果为 true,则执行递归的目录删除。在递归模式中,如果 path 不存在则不报告错 
// 误,并且在失败时重试操作。默认值: false。
fs.rmdir('./project',{recursive:true},(err)=>{
    if(err)console.log(err)
})

//同步
fs.rmdirSync('./project',{recursive:true})

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值