Node fs同步、异步写入文件(一)

在这里插入图片描述

一、文件系统 (File System)

文件系统简单来说就是通过 Node 来操作系统的文件

使用文件系统,需要先引入 fs 模块,fs 是核心模块,直接引入即可,不需要下载。

const fs = require("fs");  // 加载fs文件系统模块

我们在文件写入的时候,手动操作的步骤如下,在 Node 中,我们也采用这种方式:

  • 打开文件
  • 向文件中写入内容
  • 保存并关闭文件

注意:在我们的 Node 中,我们可以采用如下方法,对文件进行写入。当我们的 Node 发现没有这个文件时,没有关系,Node 它会为我们进行创建。当然这个不是绝对的,那是因为在我们以下的这些方法中,默认打开文件状态的参数,都是 w (可写的) ,那么只要我们这个文件没有,那么 Node 就会为我们进行创建并写入文件。当然,你如果对其,进行了重新的设置,如下表所示,那么相应的操作也就会改变了。
在这里插入图片描述

二、同步文件写入

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

  • path:要打开的文件路径
  • flags:打开文件要做的操作的类型
  • mode:设置文件的操作权限,一般不传
  • 返回值:该方法会返回一个文件的描述符作为结果,我们可以通过该描述符来对文件进行各种操作

2、fs.writeSync(fd,string[,position[,encoding]])

  • fd:文件的描述符,需要传递要写入的文件的描述符
  • string:要写入的内容
  • position:写入的起始位置
  • encoding:写入的编码,默认为utf-8,一般也不传

3、fs.closeSync(fd)

  • fd:要关闭的文件的描述符
// 同步文件写入
var fs = require('fs');
var fd = fs.openSync('hello.txt','w');
// r 只读
// w 只写
fs.writeSync(fd,'Hello JavaScript');
fs.closeSync(fd);

要完成同步写入文件,先需要通过 openSync() 打开文件来获取一个文件描述符,然后在通过 writeSync() 写入文件。

三、异步文件写入

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

  • 用来打开一个文件
  • 异步调用的方法,结果都是通过回调函数返回的
  • 回调函数需要两个参数:err 错误对象,如果没有错误,则为null,fd 文件的描述符

2、fs.write(fd,string[,position[,encoding]],callback)

  • 用来异步写入一个文件

3、fs.close(fd,callback)

  • 用来关闭文件
// 异步文件写入
var fs = require('fs');
// 打开文件
fs.open('hello2.txt','w',function (err,fd) {
    // 判断是否出错
    if (!err){
       // 如何没有出错,则对文件执行写入操作
        fs.write(fd,'这是异步写入的内容',function (err) {
            if (!err){
                console.log('写入成功~~~');
            }
              fs.close(fd,function (err) {
                  if (!err){
                      console.log('文件已关闭~~~')
                  }
              });
        });
    }else{
        console.log(err);
    }
})

要使用异步写入文件,先需要通过 open() 打开文件,然后在回调函数中通过 write() 写入。

四、其他知识

发布了161 篇原创文章 · 获赞 71 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_44034384/article/details/99984551