简介
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("执行完毕。");
输出结果 :
由于readFile为非同步读取,需要等到主执行序(stock)为空时才会将结果Console出来。
写入档案
writeFile直接打开文件默认是"W"模式,如果档案存在,此function写入的内容会"覆盖"原本的旧资料。
参数
fs.writeFile(file, data[, options], callback)
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());});
输出结果 :
打开文件
参数
fs.open(path, flags[, mode], callback)
flags参数
範例
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)
範例
const fs = require("fs");console.log("準备更改文件名称")fs.rename('../JavaScript/input.txt','../JavaScript/Reinput.txt',(err) => { if(err) { throw err; } console.log("成功更改文件名称")});
结果 :
文件名称由input.txt -> Reinput.txt
删除文件
参数
fs.unlink(path, callback)
const fs = require("fs");console.log("準备删除文件");fs.unlink('../JavaScript/input.txt',(err) => { if(err) { throw err; } console.log("删除文件成功")});
结果 :
原本建立的input.txt会被删除。
参考资料 :
Node.js文件系统|菜鸟教成
File System