Nodejs教程
Nodejs Mysql
Nodejs MongoDB
Nodejs 对比

Node.js 文件系统(FS)

Node.js文件系统(FS)

在Node.js中,文件I/O由围绕标准POSIX函数的简单包装器提供。可以使用以下语法导入节点文件系统(fs)模块:
语法:
var fs = require("fs")

Node.js FS读取文件

fs模块中的每个方法都具有同步和异步形式。
异步方法将最后一个参数用作完成函数回调。与同步方法相比,异步方法更为可取,因为它不会阻止程序的执行,因为同步方法会阻塞程序。
让我们举个例子:
创建文本具有以下内容的名为" input.txt"的文件。
文件: input.txt
lidihuo is a one of the best online tutorial website to learn different technologies
 in a very easy and efficient manner.
让我们以创建一个名为" main.js"的JavaScript文件为例,该文件具有以下代码:
文件: main.js
var fs = require("fs");
// Asynchronous read
fs.readFile('input.txt', function (err, data) {
   if (err) {
       return console.error(err);
   }
   console.log("Asynchronous read: " + data.toString());
});
// Synchronous read
var data = fs.readFileSync('input.txt');
console.log("Synchronous read: " + data.toString());
console.log("Program Ended");
打开Node.js命令提示符并运行main.js:
node main.js

Node.js打开文件

语法:
以下是在异步模式下打开文件的方法的语法:
fs.open(path, flags[, mode], callback) 
参数说明:
以下是在以上语法中使用的参数的说明:
路径: 是具有文件名(包括路径)的字符串。
标志: 标志指定要打开的文件的行为。所有可能的值都在下面提到。
模式: 这将设置文件模式(权限和粘性位),但仅在创建文件时才设置。默认值为0666,可读可写。
回调: 这是具有两个参数(err,fd)的回调函数。

用于读取/写入的Node.js标志

以下是用于读取/写入操作的标志列表:
标志 说明
r 打开文件进行读取。如果文件不存在,则会发生异常。
r + 打开文件进行读写。如果文件不存在,则会发生异常。
rs 打开文件以同步模式读取。
rs + 打开文件进行读写,告诉os同步打开它。请参阅有关" rs"的注意事项,以谨慎使用此功能。
w 打开文件进行写入。文件被创建(如果不存在)或被截断(如果存在)。
wx 类似于'w',但是如果路径存在则失败。
w + 打开文件进行读写。文件被创建(如果不存在)或被截断(如果存在)。
wx + 类似于'w +',但如果路径存在则失败。
a 打开文件进行追加。如果文件不存在,则会创建该文件。
ax 类似于'a',但如果路径存在则失败。
a + 打开文件以进行读取和附加。如果文件不存在,则会创建该文件。
ax + 打开文件以进行读取和附加。如果文件不存在,则会创建该文件。
使用以下代码创建一个名为" main.js"的JavaScript文件,以打开文件input.txt进行读写。
文件: main.js
var fs = require("fs");
// Asynchronous-Opening File
console.log("Going to open file!");
fs.open('input.txt', 'r+', function(err, fd) {
   if (err) {
       return console.error(err);
   }
  console.log("File opened successfully!");     
});
打开Node.js命令提示符并运行main.js:
node main.js
Node.js文件系统2

Node.js文件信息方法

语法:
以下是获取文件信息的方法的语法。
fs.stat(path, callback)
参数说明:
路径: 这是具有文件名(包括路径)的字符串。
回调: 这是一个回调函数,它获取两个参数(err,stats),其中stats是fs.Stats类型的对象。

Node.js fs.Stats类方法

方法 说明
stats.isfile() 如果简单文件的文件类型返回true。
stats.isdirectory() 如果目录的文件类型返回true。
stats.isblockdevice() 如果块设备的文件类型返回true。
stats.ischaracterdevice() 如果字符设备的文件类型返回true。
stats.issymboliclink() 如果符号链接的文件类型返回true。
stats.isfifo() 如果fifo的文件类型返回true。
stats.issocket() 如果asocket的文件类型返回true。
让我们以创建一个名为main.js的JavaScript文件为例,该文件具有以下代码:
文件: main.js
var fs = require("fs");
console.log("Going to get file info!");
fs.stat('input.txt', function (err, stats) {
   if (err) {
       return console.error(err);
   }
   console.log(stats);
   console.log("Got file info successfully!");
   // Check file type
   console.log("isFile ? " + stats.isFile());
   console.log("isDirectory ? " + stats.isDirectory());    
});
现在打开Node.js命令提示符并运行main.js
node main.js
Node.js文件系统3
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4