Node-fs文件基本操作

1.简介

Node,js把所有关于对文件操作的API,都封装在Node.js的fs模块(文件系统),提供了文件的所有操作方法,且都有同步和异步两个版本.

1.1同步操作

在用fs进行同步操作时,异常会立即抛出,可以使用try...catch进行处理

  同步的方法在返回结果后,才能执行后续的代码.一般的文件读写操作,都会耗费一定的时间,容易造成堵塞.

1.2异步操作

异步操作,采用回调函数接收和处理返回结果.

 异步方法的最后一个参数为一个回调函数,函数的第一个参数包含了错误信息(err),相比于同步的方法,异步方法无阻塞,性能更优,速度更快.

1.3fs基本方法

fs模块引入

const fs=require('fs')

 fs参数

1.3.1 path:string|Buffer|URL,用于说明将要打开的文件路径或文件描述符,一般以字符串为路径,也可以使用Buffer.

1.3.2 flags:取值可以为数字也可为字符串,当为字符串时有以下使用

flags常用的标识和含义
字符串
'a'用于追加内容,如果要打开的文件不存在,则创建该文件
'a+'用于文件的读取和追加,如果要打开的文件不存在,则创建该文件
'as+'用于文件的读取和追加,如果要打开的文件不存在,则创建该文件 (同步模式)
'r'(默认)用于文件读取,如果文件不存在,则异常
'rs+'用于文件的读取和写入,指示操作系统绕过本地文件系统缓存(同步模式)
'w+'用于文件的读取和写入,如果文件不存在,则创建文件,存在的话,则截断文件

截断文件:截断是把一个文件删一部分留一部分,体现在于这个文件变小了,占用的块可能也减少了.

1.3.3 mode:可以取值为string和integer(int的包装类),用于创建文件时,给文件制定权限,默认0o666.

2.打开和关闭文件

2.1打开文件

同步方法:fs.openSync()

异步方法:fs.open()

同步方式

[参数]为可选

fs.openSync(path,[flags,mode])

返回值为number类型,表示文件描述符为整数

异步方式

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

callback为回调函数

callback参数 err--异常的信息,fd(integer)--打开文件后的标识

2.2关闭文件

同步方法:fs.closeSync()

异步方法:fs.close()

同步方式(一般不用)

fs.closeSync(fd)

 返回值为undefined

异步方式

fs.open(fd,callback)

 callbanck只有一个err参数,表示异常信息.

 3.读取和写入文件

3.1读取文件

读取文件的方法有许多,我们主要了解fs.readFile方法

fs.readFile(path,[options],callback)

options:类型可为对象和字符串

  1. encoding:编码方式,默认null
  2. flag:默认为r

 callback两个参数,err--错误信息,data--读取文件的内容,若没有转化,默认为Buffer格式

 3.2 写入文件

fs.writen(fd,string,[position],callback)

position:数据要被写入的位置

callback:三个参数(err,written,string),written表示写入字符串的字节数,string为写入的内容

 4.删除文件

同步方式

fs.unlinkSync(path)

返回值为undefined

异步方式

fs.unlink(path,callback)

  5.读取目录

fs.readdir(path,[options],callback)

callback参数:err,file为目录的文件

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

卷小白

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

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

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

打赏作者

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

抵扣说明:

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

余额充值