Node.js中的fs文件系统模块

本文详细介绍了Node.js中的fs模块,包括如何读取和写入文件,如fs.readFile()和fs.writeFile()的使用方法。通过示例展示了读取文件内容、判断读写操作是否成功,并给出了一个综合案例,涉及文件内容的处理和写回。同时复习了String.split()和Array.join()函数的基本用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一·fs 文件系统模块

1.1 什么是 fs 文件系统模块

fs 模块是 Node.js 官方提供的、用来操作文件的模块。它提供了一系列的方法和属性,用来满足用户对文件的操作需求。

如果要在 JavaScript 代码中,使用 fs 模块来操作文件,则需要使用如下的方式先导入它:

const fs = require('fs');

1.2 读取指定文件中的内容

1. fs.readFile()
// 1.导入 fs 模块,来操作文件
const fs = require('fs');

// 2.使用 fs.readFile(file[,options],callback) 方法读取文件
//      参数1:读取文件存放路径。
//      参数2:读取文件时采用的编码格式,一般默认utf8。
//      参数3:回调函数,拿到读取成功和失败的结果 err dataStr
fs.readFile('./files/1.text', 'utf8', function(err, dataStr) {
    // 2.1打印失败的结果
    // 如果读取成功,则 err 的值是 null。
    // 如果读取失败,则 err 的值是 错误对象,dataStr 的值是 undefined 
    console.log(err);
    console.log('---------------');
    // 2.2打印成功的结果
    console.log(dataStr);
});
2.判断文件是否读取成功
const fs = require('fs');

fs.readFile('./files/1.text', 'utf8', function(err, dataStr) {
    if (err) {
        return console.log('读取文件失败!' + err.message);
    }

    console.log('读取文件成功!' + dataStr);
});

1.3 向指定的文件中写入内容

1. fs.writeFile()
// 1. 导入 fs 模块,来操作文件。
const fs = require('fs');

// 2.使用 fs.writeFile(file,data[,options],callback) 方法写入文件内容。
//      参数1:表示文件存放路径。
//      参数2:表示要写入的内容。
//      参数3:写入文件内容时采用的编码格式,一般默认utf8。
//      参数4:回调函数。
fs.writeFile('./files/2.text', '段晓龙是最帅的!!!!', 'utf8', function(err) {
    // 2.1 如果文件写入成功,则 err 值为 null;
    // 2.2 如果文件写入失败,则 err 值为 一个错误对象。
    console.log(err);
});
2.判断文件是否写入成功
const fs = require('fs');

fs.writeFile('./files/3.text', '段晓龙是最最最最帅的!!!!', 'utf8', function(err) {
    if (err) {
        return console.log('文件写入失败!' + err.message);
    }
    console.log('文件写入成功!');
});

1.4 综合案例

// 1. 导入 fs 模块
const fs = require('fs');

// 2. 使用 fs.readFile() 读取成绩单。
fs.readFile('./files/成绩.txt', 'utf8', function(err, dataStr) {

    // 3. 判断文件是否读取成功
    if (err) {
        return console.log('成绩读取失败!' + err.message);
    }
    // console.log('文件读取成功!' + dataStr);

    // 4.1 先把成绩的数据按空格进行分隔。
    const arrOld = dataStr.split(' ');

    // 4.2 循环分割后的数组,对每一项数据,进行字符串的替换。
    const arrNew = [];
    arrOld.forEach(item => {
        arrNew.push(item.replace('=', ':'));
    });

    // 4.3 把新数组中的每一项进行合并,得到一个新字符串。
    const newStr = arrNew.join('\r\n');
    // console.log(newStr);

    // 5. 调用 fs.writeFile()方法,把处理好的字符串写入到文件中。
    fs.writeFile('./files/成绩-ok.txt', newStr, function(err) {
        if (err) {
            return console.log('文件写入失败!' + err.message);
        }
        console.log('文件读取成功!');
    })

})

PostScript(js函数复习):

1. String.split()
定义和用法

split() 方法用于把一个字符串分割成字符串数组。

语法
stringObject.split(separator,howmany)
参数描述
separator必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
howmany可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
demo:
var str="How are you doing today?"

document.write(str.split(" "))
document.write(str.split(""))
document.write(str.split(" ",3))

// 返回值
How,are,you,doing,today?
H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?
How,are,you

//=================================================
"2:3:4:5".split(":")	//将返回["2", "3", "4", "5"]
"|a|b|c".split("|")		//将返回["", "a", "b", "c"]
2. Array.join()
定义和用法

join() 方法用于把数组中的所有元素放入一个字符串。

元素是通过指定的分隔符进行分隔的。

语法
arrayObject.join(separator)
参数描述
separator可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。
demo:

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr.join("."))
// 返回值
George.John.Thomas

------------- |
| separator | 可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。 |

demo:

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr.join("."))
// 返回值
George.John.Thomas
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值