fs模块 文件写入 之 异步写入与同步写入

一、fs模块介绍:

fs(file system)模块是nodejs提供的用于访问本地文件系统的功能模块,它使得运行于nodejs环境下的JavaScript具备直接读写本地文件的能力。

fs模块是nodejs的核心模块之一,只要安装了nodejs,就可以直接使用,不需要单独安装。

二、文件写入

(1)导入fs模块

 require 全局函数,用来导入模块

const fs=require('fs');

(2)异步写入

1》特点:比起同步,异步方法性能更高,速度更快,而且没有阻塞;推荐使用异步写入

2》语法:fs.writeFile(path,data,[options],callback(data,err))

path - 文本文件的相对路径。

data - 写入内容,可以是 String(字符串) 或 Buffer(缓冲) 对象

options - 编码方式(可省略,省略后读出的文件就是buffer数据格式)

options包含三个参数 :options(encoding,mode,flag)

[encoding:它是一个字符串,它指定文件的编码。默认值为“ utf8”。]

[mode:它是一个整数,指定文件模式。默认值为0o666。]

[flag:它是一个字符串,指定在写入文件时使用的标志。默认值为“ w”。]

callback(err,data) - 回调函数,带有两个参数:读取失败时错误信息参数(err),在写入失败时返回;读取成功时读到的数据(data)。

【注意:文件名如果不存在,它会帮我们自动创建并写入】

3》异步写入代码示例:

fs.writeFile('./我可以(异步).txt','我可以相信自己',callback=>{  
//后面的参数分别是:路径,写入内容,[我们用不到配置对象所以可省略],回调函数的data读取成功时读到的数据,回调函数err读取失败时错误信息
//如果写入失败,那么err的值就是一个错误对象;写入成功err的值是null
if(callback){
        console.log('写入失败');
        return;
    }
    console.log('写入成功');
});
console.log(1+1);   // 终端显示结果:2  写入成功

创建结果显示:

(3)同步写入

1》特点:按顺序进行,更容易理解

2》语法:fs.writeFileSync( path, data,[options] )

path -- 文本文件的相对路径。路径可以是URL类型。该文件也可以是文件描述符。如果两个文件都在同一个文件夹中,只需在文件名中加上引号即可。

options -- 编码方式(可省略,省略后读出的文件就是buffer数据格式)

3》同步写入代码示例:

fs.writeFileSync('./data(同步).txt','test'); //后面参数分别为:路径path,文件内容test

创建结果显示:

相关推荐

  1. OpenPyXL 写入 Excel 文件

    2024-03-14 21:40:04       25 阅读
  2. php将文本内容写入一个文件(面向过程写法)

    2024-03-14 21:40:04       61 阅读
  3. php将文本内容写入一个文件(面向对象写法)

    2024-03-14 21:40:04       63 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-14 21:40:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-14 21:40:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-14 21:40:04       87 阅读
  4. Python语言-面向对象

    2024-03-14 21:40:04       96 阅读

热门阅读

  1. GSAP动画学习

    2024-03-14 21:40:04       38 阅读
  2. vue+vite根据版本号清空用户浏览器缓存

    2024-03-14 21:40:04       39 阅读
  3. 为HTTP的2024端口设置重定向

    2024-03-14 21:40:04       38 阅读
  4. leetcode热题HOT 240. 搜索二维矩阵 II

    2024-03-14 21:40:04       42 阅读
  5. [Vue] 自定义命令

    2024-03-14 21:40:04       38 阅读
  6. C++ const关键字

    2024-03-14 21:40:04       40 阅读
  7. cas_ssl

    2024-03-14 21:40:04       40 阅读