Node学习(三)-fs模块

文件/文件夹操作

创建目录

fs.mkdir(path,option,callback)

  • path <string>|<Buffer>|<URL>
  • option
    • recursive <boolean> 默认:false
    • mode window不支持
  • callback <Function>
    • err <Error>
const fs = require('fs');
//若D盘下无test文件夹则会创建test文件夹
fs.mkdir('D:/test',{recursive:false},(err)=>{
    if(err){
        console.log(err);
    }
})

读取目录

fs.readdir(path,option,callback)

  • path
  • option
    • recursive
  • callback
    • err
    • content
const fs = require('fs');
fs.readdir('D:/',{recursive:false},(err,content)=>{
    if(err){
        console.log(err)
    }
    console.log(content)
})

删除目录

fs.rmdir(path,option,callback)

  • path
  • option
    • recursive
  • callback
    • err
const fs = require('fs')
fs.rmdir('D:/test',{recursive:false},(err)=>{
    if(err){
        console.log(err)
    }
})

文件操作

打开文件

fs.open(path,flags,mode,callback)

  • path <string>|<Buffer>|<URL>
  • flags <string>|<number> 默认值:'r'
  • mode <string>|<integer> 默认值:0o666(可读写)
  • callback <Function>
    • err <Error>
    • fd <integer> 文件描述符
const fs = require('fs')
fs.open('D://test.txt','r',(err,fd) =>{
    if(err){
        console.log(err)
    }
    //获取文件描述符,文件描述符一般是从3以后开始,因为前面有 0、1、2 三个比较特殊的描述符,分别代表 process.stdin(标准输入)、process.stdout(标准输出)和 process.stderr(错误输出)。
    console.log(fd)
})

关闭文件

fs.close(fd,callback)

  • fd <integer>
  • callback <Function>
    • err <Error>
const fs = require('fs')
fs.open('D:/test.txt','r',(err,fd) =>{
    if(err){
        console.log(err)
    }
    fs.close(fd,(err) =>{
        if(err){
            console.log(err)
        }
	})
})

写文件

fs.write(fd,buffer,offset,length,position,callback)

  • fd<integer>
  • buffer<Buffer>|<TypedArray>|<DataView>表示要写入的数据
  • offset<integer>buffer读取的偏移量
  • length<integer>写入的buffer的长度
  • position<integer>写入文件的位置
  • callback<Function>
    • err<Error>
    • bytesWritten<integer>实际写入的字节数
    • buffer <Buffer>|<TypedArray>|<DataView>
const fs = require('fs')
var buffer = Buffer.alloc("你好呀兄弟")
fs.open('D:/test.txt','r',(err,fd) =>{
    if(err){
        console.log(err)
    }
    fs.write(fd,buffer,0,5,0,(err,bytesWritten,buffer) =>{
        if(err){
            console.log(err)
        }
        //bytesRead代表了写入数据的长度
        console.log(bytesWritten)
        //buffer表示写入的数据
        console.log(buffer.toString())
        //关闭文件
         fs.close(fd,(err) =>{
            if(err){
                console.log(err)
            }
        })
    })
   
})

读文件

fs.read(fd, buffer, offset, length, position, callback)

  • fd <integer>
  • buffer <Buffer>|<TypedArray>|<DataView> 表示读取的数据存入的位置
  • offset <integer> buffer写入的偏移量
  • length <integer> 读取的文件的长度
  • position <interger> 文件读取的位置
  • callback <Function>
    • err<Error>
    • bytesRead <integer>实际读取数据的长度
    • buffer<Buffer>|<TypedArray>|<DataView>读取的数据
const fs = require('fs')
var buffer = Buffer.alloc(10);
fs.open('D:/test.txt','r',(err,fd) =>{
    if(err){
        console.log(err)
    }

    fs.read(fd,buffer,0,3,0,(err,bytesRead,buffer) =>{
        if(err){
            console.log(err)
        }
        //bytesRead代表了读取数据的长度
        console.log(bytesRead)
        //buffer表示读取的数据
        console.log(buffer.toString())
        //追加读取数据
        fs.read(fd,buffer,3,3,3,(err,bytesRead,buffer) =>{
            if(err){
            	console.log(err)
            }
            //bytesRead代表了读取数据的长度
            console.log(bytesRead)
            //buffer表示读取的数据
            console.log(buffer.toString())
            //关闭文件
            fs.close(fd,(err) =>{
                if(err){
                    console.log(err)
                }
            })
        })
    })
    
})


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

怪蜀黍客栈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值