fs 模块

1. fs写文件

1.1 普通写入
const fs = require('fs')
// 异步写入
fs.writeFile('./hello.txt','刚刚我错过的大雨',err=>{
    console.log(err);
})
// 同步写入
fs.writeFileSync('./text.txt','hello boy!')
1.2 文件的追加写入
const fs = require('fs')
fs.appendFile('./text.txt','\r\r\r\r那些年胡夏',err=>{
    console.log(err);
})
fs.appendFileSync('./hello.txt','sometimes!!!')
1.3 流式写入
const fs = require('fs')
const ws = fs.createWriteStream('./诗.txt')

ws.write('曲项向天歌\r')
ws.write('曲项向天歌\r')
ws.write('曲项向天歌\r')
ws.write('曲项向天歌\r')

ws.end()

2. 文件读取

2.1 普通读取
const fs = require('fs')

fs.readFile('../A音频.mp3',(err,data)=>{
    console.log(err);
    console.log(data);
})

let data = fs.readFileSync('./hello.txt')
console.log(data.toString());
2.2 流式读取
const fs = require('fs')
const rs = fs.createReadStream('../资料/测试.xlsx')

rs.on('data',chunk=>{
    console.log(chunk.length);
})
rs.on('end',()=>{
    console.log('读取完成~');
})

3. 复制/重命名/移动/删除文件

3.1 复制
const fs = require('fs')
const process = require('process')
// 方式1
let data = fs.readFileSync('../资料/测试.xlsx')

fs.writeFileSync('../资料/测试2.xlsx',data)
console.log(process.memoryUsage());
// 方式2

const rs = fs.createReadStream('../资料/测试.xlsx')
const ws = fs.createWriteStream('../资料/测试4.xlsx')
// rs.on('data',chunk=>{
//     ws.write(chunk)
// })
// rs.on('end',()=>{
//     console.log('ee--',process.memoryUsage());
// })

rs.pipe(ws)
3.2 重命名及移动
const fs = require('fs')
// 重命名
// fs.rename('./诗.txt','./古诗.txt',err=>{
//     if(err){
//         console.log('删除失败');
//         return
//     }
//     console.log('删除成功');
// })

// 文件移动
fs.rename('./古诗.txt','../资料/古诗词.txt',err=>{
    if(err){
        console.log('删除失败');
        return
    }
    console.log('删除成功');
})
3.3 文件删除
const fs = require('fs')

// fs.unlink('./hello.txt',err=>{
// })
fs.rm('./text.txt',err=>{
})

4.文件夹相关操作

const fs = require('fs')

// 创建单个文件夹
// fs.mkdir('./html',err=>{

// })

// 递归创建
// fs.mkdir('./a/b/c',{recursive:true},err=>{

// })

// 读取文件
// fs.readdir('./',(err,data)=>{
//     console.log(data);
// })

// 删除文件夹
// fs.rmdir('./html',err=>{

// })

// 递归删除
// fs.rmdir('./a',{recursive:true},err=>{

// })

// 推荐删除
fs.rm('./a',{recursive:true},err=>{
    
})

5.查看文件状态 以及 文件路径

5.1 查看文件状态
const fs = require('fs')

fs.stat('../资料/测试.xlsx',(err,data)=>{
    console.log(data);
    console.log(data.isFile());
    console.log(data.isDirectory());
})
5.2 文件路径
const fs = require('fs')

// 相对路径
// fs.writeFileSync('./index.html','<b>22222</b>')
// fs.writeFileSync('index.html','<b>22222</b>')
// fs.writeFileSync('../index.html','<b>22222</b>')

// 绝对路径
fs.writeFileSync('index.ts','love')
  • 12
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值