React 学习笔记_21(Node.js 档案系统)

简介

Node.js提供了一个类似UNIX(POSIX)标準的文件操作API,可以对于档案进行同步与非同步的操作。


引入

const fs = require("fs");

Method 介绍

为了使用fs中的Method对档案进行操作,首先先建立一个inpout.text,并将内容填入Node.js fs Test

读取档案

读取档案的函数有非同步的fs.readFile()与同步的fs.readFileSync(),非同步的method最后有一个callback function,callback的输入函数包含了错误讯息(err),可以利用此错误讯息提供是否读取成功。

const fs = require("fs");//非同步读取fs.readFile("./input.txt",(err,data) => {    if(err)    {        throw err;    }    console.log("非同步读取 :" + data.toString());});//=======================================================//同步读取const data = fs.readFileSync("./input.txt","UTF8");console.log("同步读取 :" + data);console.log("执行完毕。");

输出结果 :
http://img2.58codes.com/2024/20124767dwAmcgW5KX.png
由于readFile为非同步读取,需要等到主执行序(stock)为空时才会将结果Console出来。

写入档案

writeFile直接打开文件默认是"W"模式,如果档案存在,此function写入的内容会"覆盖"原本的旧资料。

参数

fs.writeFile(file, data[, options], callback)

file - 文件名称与路径。data - 要写入文件的数据,可以是 String 或 Buffer。options - 包含 {encoding, mode, flag}。Defualt为 utf8, 模式为 0666 , flag 为 'w'。callback - callback function,只包含错误信息参数(err),当写入失败时return。
const fs = require("fs");console.log("準备写入文件");const inputData = "通过writeFile写入的资料";fs.writeFile("../JavaScript/input.txt",inputData,(err) => {    if(err)    {        console.log("写入文件失败");    }    console.log("写入成功");})//================================================================console.log("读取txt资料")fs.readFile("../JavaScript/input.txt",(err,data) => {    if(err)    {        throw err;    }    console.log("非同步读取 :" + data.toString());});

输出结果 :
http://img2.58codes.com/2024/20124767FbjK7tSvKH.png

打开文件

参数

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

path : 文件的路径。flags : 文件打开的行为。mode : 设置文件模式。callback function : 两个参数err,fd。

flags参数

Flag描述r以读取模式打开文件。若文件不存在则return错误。rs以同步的方式读取文件。w以写入模式打开文件,如果文件不存在则return错误。wx类似 'w',但是如果文件路径存在,则文件写入失败。

範例

const fs = require("fs");console.log("準备打开文件!");fs.open('../JavaScript/input.txt', 'r+', function(err, fd) {   if (err) {       return console.error(err);   }  console.log("文件打开成功!");     });

更改文件名称

参数

fs.rename(oldPath, newPath, callback)

oldPath : 想要更改名称的文件名称与路径。newPath : 更改的文件名称与路径。callback : callback function 参数为err当更改名称失败时return。

範例

const fs = require("fs");console.log("準备更改文件名称")fs.rename('../JavaScript/input.txt','../JavaScript/Reinput.txt',(err) => {    if(err)    {        throw err;    }    console.log("成功更改文件名称")});

结果 :
http://img2.58codes.com/2024/201247679DaFGnIsL8.png
文件名称由input.txt -> Reinput.txt

删除文件

参数

fs.unlink(path, callback)

path : 文件路径。callback : callback function 参数为err,当删除文件错误return。
const fs = require("fs");console.log("準备删除文件");fs.unlink('../JavaScript/input.txt',(err) => {    if(err)    {        throw err;    }    console.log("删除文件成功")});

结果 :
http://img2.58codes.com/2024/20124767Irg1hcmo3k.png
原本建立的input.txt会被删除。

参考资料 :
Node.js文件系统|菜鸟教成
File System


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章