- Node.js教程
- Node.js - 教程
- Node.js - 简介
- Node.js - 环境设置
- Node.js - 首次申请
- Node.js - REPL 终端
- Node.js - 命令行选项
- Node.js - 包管理器 (NPM)
- Node.js - 回调概念
- Node.js - 上传文件
- Node.js - 发送电子邮件
- Node.js - 活动
- Node.js - 事件循环
- Node.js - 事件发射器
- Node.js - 调试器
- Node.js - 全局对象
- Node.js - 控制台
- Node.js - 流程
- Node.js - 扩展应用程序
- Node.js - 包装
- Node.js - Express 框架
- Node.js - RESTful API
- Node.js - 缓冲器
- Node.js - Streams
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 快速入门
- Node.js - MySQL创建数据库
- Node.js - MySQL创建表
- Node.js - MySQL Insert Into
- Node.js - MySQL Select From
- Node.js - MySQL Where 子句
- Node.js - MySQL Order By
- Node.js - MySQL Delete
- Node.js - MySQL Update
- Node.js - MySQL Join
- Node.js MongoDB
- Node.js - MongoDB 快速入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB Insert
- Node.js - MongoDB Find
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB Delete
- Node.js - MongoDB Update
- Node.js - MongoDB Limit
- Node.js - MongoDB Join
- Node.js模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - utility 模块
- Node.js - Web 模块
Node.js - 文件系统
Node.js API 是一种服务器端编程技术。因此,可能需要Node.js应用程序才能与服务器的物理文件系统进行交互。Node.js API 包含 fs 模块,使开发人员能够对磁盘文件执行读/写操作。Node.js 中的 fs 模块为文件处理提供了同步和异步方法。
要使用文件系统函数,您需要使用以下语法导入 fs 模块 -
var fs = require("fs")
同步与异步
fs 模块中的每个方法都有同步和异步版本。异步方法将最后一个参数作为完成函数回调,将回调函数的第一个参数作为错误。
例如,在文件中写入数据的同步方法是 -
fs.writeFileSync(file, data[, options])
另一方面,它的异步版本具有以下语法 -
fs.writeFile(file, data[, options], callback)
与同步方法相比,异步方法本质上是非阻塞的。
对于本章中的示例代码,我们将使用一个名为 input.txt 的文本文件,其中包含以下内容 -
to teach the world in simple and easy way!!!!!
写入文件
以下程序演示如何使用同步和异步方法在文件中写入数据。
const fs = require('fs');
var text = `qikepu.com is giving self learning content
to teach the world in simple and easy way!!!!!
`;
console.log("Writing synchronously");
fs.writeFileSync("input.txt", text);
console.log("Writing asynchronously");
fs.writeFile('input.txt', text, function (err) {
if (err)
console.log(err);
else
console.log('Write operation complete.');
});
输出
Writing asynchronously
Write operation complete.
读取文件
fs 模块中的 ReadFile() 方法异步读取文件。它具有以下语法 -
fs.readFile(fileName [,options], callback)
另一方面,ReadFileSync() 方法是其同步版本,语法如下 -
fs.readFileSync(fileName [,options])
例
以下程序以同步和异步方式读取 input.txt 文件。
const fs = require('fs');
console.log("Reading synchronously");
data = fs.readFileSync("input.txt");
console.log(data.toString());
console.log("Reading asynchronously");
fs.readFile('input.txt', function (err, data) {
if (err) {
return console.error(err);
}
console.log("Asynchronous read: " + data.toString());
});
console.log('Read operation complete.');
输出
qikepu.com giving self learning content
to teach the world in simple and easy way!!!!!
Reading asynchronously
Read operation complete.
Asynchronous read: qikepu.com is giving self learning content
to teach the world in simple and easy way!!!!!
打开文件
readFile() 和 writeFile() 方法隐式打开和关闭要读取/写入的文件。相反,您可以显式打开文件,设置文件打开模式,指示是将其用于读取还是写入,然后关闭文件。
open() 方法具有以下签名 -
fs.open(path, flags[, mode], callback)
参数
- path - 这是具有文件名(包括路径)的字符串。
- flags - 标志指示要打开的文件的行为。下面提到了所有可能的值。
- mode - 它设置文件模式(权限和粘滞位),但前提是文件已创建。默认为0666,可读可写。
- callback - 这是获取两个参数(err,fd)的回调函数。
flag 参数的值为 :
Flag | 描述 |
---|---|
r |
打开文件进行阅读。如果文件不存在,则会发生异常。 |
r+ |
打开文件进行读取和写入。如果文件不存在,则会发生异常。 |
rs |
以同步模式打开文件进行读取。 |
rs+ |
打开文件进行读取和写入,要求操作系统同步打开它。请参阅“rs”的注释,了解如何谨慎使用此功能。 |
w |
打开文件进行写入。文件被创建(如果不存在)或被截断(如果存在)。 |
wx |
类似于“w”,但如果路径存在,则失败。 |
w+ |
打开文件进行读取和写入。文件被创建(如果不存在)或被截断(如果存在)。 |
wx+ |
类似于 'w+',但如果路径存在,则失败。 |
a |
打开文件进行追加。如果文件不存在,则创建该文件。 |
ax |
类似于“a”,但如果路径存在,则失败。 |
a+ |
打开文件进行读取和追加。如果文件不存在,则创建该文件。 |
ax+ |
类似于“a+”,但如果路径存在,则失败。 |
让我们打开一个文件“input.txt”,用于将数据写入其中。
const fd = fs.open('input.txt', 'w', (err, fd) => {
if (err) {
console.log(err);
return;
}
});
To open() 方法返回对文件的引用,称为文件描述符。文件描述符是唯一的整数,用作执行写入和读取操作的方法的参数。
fs 模块中的 write() 方法将数据保存到 open() 方法返回的文件描述符所引用的文件中。
write(fd, string[, position[, encoding]], callback)
参数
- fd − 文件描述符
- string - 要写入的数据
- position − 开始写入 默认值:null
- encoding − 字符编码字符串 默认值: 'utf8'
- callback − 要调用的回调函数。
以下代码段将给定的文本写入我们上面打开的文件中。
var data = `Tutorials Point is giving self learning content
to teach the world in simple and easy way!!!!!
`;
if (err) {
console.log(err);
return;
}
始终建议关闭打开的文件,尤其是在以可写模式打开时。
// Close the file
fs.close(fd, (err) => {
if (err) {
console.log(err);
return;
}
});
让我们把所有这些片段放在一起作为一个程序,以可写模式打开一个文件,在其中放入一些数据,然后关闭它。
例
const fs = require('fs');
// Open a file for writing
const fd = fs.open('input.txt', 'w', (err, fd) => {
if (err) {
console.log(err);
return;
}
// Write some data to the file
var data = `Tutorials Point is giving self learning content
to teach the world in simple and easy way!!!!!
`;
fs.write(fd, data, (err) => {
if (err) {
console.log(err);
return;
}
// Close the file
fs.close(fd, (err) => {
if (err) {
console.log(err);
return;
}
console.log('The file was written successfully!');
});
});
});
执行时,上述程序会导致在当前目录中创建input.txt。
要读回文件,必须以读取模式打开它。fs 模块中的 read() 方法使用文件描述符并在缓冲区对象中检索其中的数据。
read(fd, buffer[, options], callback)
参数
- fd − 文件描述符
- buffer - 将写入数据的缓冲区。
- options − 偏移、长度和位置
- callback − 要调用的函数。
要在 input.txt 中读回数据,请使用 read() 方法,如下所示 -
例
var fs = require('fs');
fs.open('test.txt', 'r', function (err, fd) {
if (err) {
return console.error(err);
}
var buffr = Buffer.alloc(1024);
fs.read(fd, buffr, function (err) {
if (err) throw err;
else
console.log(buffr.toString());
});
// Close the opened file.
fs.close(fd, function (err) {
if (err) throw err;
});
});
运行上述程序。您的input.txt内容将被检索并显示在控制台上。
Promise API 接口
在Node.js应用程序中,如果需要异步执行许多不同的活动,则可能存在大量嵌套回调。但是,代码可能会变得杂乱无章,通常称为回调地狱。为了克服这个问题,JavaScript 引入了 promise 的概念。
Promise 本质上是对执行异步任务的回调的改进。它表示将完成或拒绝的活动。如果承诺兑现了,它就解决了;否则,它将被拒绝。与典型的回调不同,Promise 可以被链接。
在 Node.js 版本 10 之后的版本中,fs 模块包含了实现 promise 概念的文件管理方法。(Callback 和 synchronous 方法也存在)。
新的异步函数使用 async/await 语法。该函数以 async 关键字为前缀,并且始终返回一个 promise。关键字 await 使 JavaScript 等待,直到该承诺解决并返回其结果。
fs 模块中 writeFile() 方法的 Promise API 版本如下 -
fsPromises.writeFile(file, data[, options])
参数
- file - 文件名或FileHandle
- data − 字符串或缓冲区。该方法返回一个 Promise 对象。它异步将数据写入文件,如果文件已存在,则替换该文件。data 可以是字符串,也可以是缓冲区。
以下程序使用 Promisified writeFile() 方法。
例
const fs = require("fs");
var data = `qikepu.com is giving self learning content
to teach the world in simple and easy way!!!!!
`;
async function write_file() {
await fs.promises.writeFile("input.txt", data);
console.log("Data written successfully");
}
write_file();
另一方面,Promise API 中的 readFile() 方法具有以下语法 -
fsPromises.readFile(path[, options])#
参数
- path - 文件名或FileHandle
- options - 包括编码、标志、信号
该方法返回 − 一个 Promise。它异步读取文件的全部内容。
例
const fs = require("fs");
async function read_file() {
const secret = await fs.promises.readFile("input.txt");
console.log(secret.toString());
}
read_file();
要检索文件(input.txt)的内容,请保存上述代码并从命令行运行。
获取文件信息
语法
以下是获取文件信息的方法的语法 -
fs.stat(path, callback)
参数
以下是所用参数的描述 -
- path - 这是具有文件名(包括路径)的字符串。
- callback - 这是回调函数,它获取两个参数(err,stats),其中stats是fs的对象。统计信息类型,在示例下方打印。
除了下面示例中打印的重要属性外,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 的 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());
});
现在运行main.js以查看结果 -
验证输出。
{
dev: 1792,
mode: 33188,
nlink: 1,
uid: 48,
gid: 48,
rdev: 0,
blksize: 4096,
ino: 4318127,
size: 97,
blocks: 8,
atime: Sun Mar 22 2015 13:40:00 GMT-0500 (CDT),
mtime: Sun Mar 22 2015 13:40:57 GMT-0500 (CDT),
ctime: Sun Mar 22 2015 13:40:57 GMT-0500 (CDT)
}
Got file info successfully!
isFile ? true
isDirectory ? false
关闭文件
语法
以下是关闭打开的文件的语法 -
fs.close(fd, callback)
参数
以下是所用参数的描述 -
- fd - 这是文件fs.open()方法返回的文件描述符。
- callback - 这是回调函数,除了可能的异常外,没有为完成回调提供任何参数。
让我们创建一个名为 main.js 的 js 文件,其中包含以下代码 -
var fs = require("fs");
var buf = new Buffer(1024);
console.log("Going to open an existing file");
fs.open('input.txt', 'r+', function(err, fd) {
if (err) {
return console.error(err);
}
console.log("File opened successfully!");
console.log("Going to read the file");
fs.read(fd, buf, 0, buf.length, 0, function(err, bytes) {
if (err) {
console.log(err);
}
// Print only read bytes to avoid junk.
if(bytes > 0) {
console.log(buf.slice(0, bytes).toString());
}
// Close the opened file.
fs.close(fd, function(err) {
if (err) {
console.log(err);
}
console.log("File closed successfully.");
});
});
});
现在运行main.js以查看结果 -
验证输出。
File opened successfully!
Going to read the file
qikepu.com is giving self learning content
to teach the world in simple and easy way!!!!!
File closed successfully.
截断文件
语法
以下是截断打开的文件的方法的语法 -
fs.ftruncate(fd, len, callback)
参数
以下是所用参数的描述 -
- fd - 这是fs.open()返回的文件描述符。
- len − 这是文件的长度,之后文件将被截断。
- callback - 这是回调函数,除了可能的异常外,没有为完成回调提供任何参数。
让我们创建一个名为 main.js 的 js 文件,其中包含以下代码 -
var fs = require("fs");
var buf = new Buffer(1024);
console.log("Going to open an existing file");
fs.open('input.txt', 'r+', function(err, fd) {
if (err) {
return console.error(err);
}
console.log("File opened successfully!");
console.log("Going to truncate the file after 10 bytes");
// Truncate the opened file.
fs.ftruncate(fd, 10, function(err) {
if (err) {
console.log(err);
}
console.log("File truncated successfully.");
console.log("Going to read the same file");
fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
if (err) {
console.log(err);
}
// Print only read bytes to avoid junk.
if(bytes > 0) {
console.log(buf.slice(0, bytes).toString());
}
// Close the opened file.
fs.close(fd, function(err) {
if (err) {
console.log(err);
}
console.log("File closed successfully.");
});
});
});
});
现在运行main.js以查看结果 -
验证输出。
File opened successfully!
Going to truncate the file after 10 bytes
File truncated successfully.
Going to read the same file
qikepu
File closed successfully.
删除文件
语法
以下是删除文件的方法的语法 -
fs.unlink(path, callback)
参数
以下是所用参数的描述 -
- path - 这是包括路径在内的文件名。
- callback - 这是回调函数,除了可能的异常外,没有为完成回调提供任何参数。
让我们创建一个名为 main.js 的 js 文件,其中包含以下代码 -
var fs = require("fs");
console.log("Going to delete an existing file");
fs.unlink('input.txt', function(err) {
if (err) {
return console.error(err);
}
console.log("File deleted successfully!");
});
现在运行main.js以查看结果 -
验证输出。
File deleted successfully!
创建目录
语法
以下是创建目录的方法的语法 -
fs.mkdir(path[, mode], callback)
参数
以下是所用参数的描述 -
- path − 这是包括路径在内的目录名称。
- mode - 这是要设置的目录权限。默认值为 0777。
- callback - 这是回调函数,除了可能的异常外,没有为完成回调提供任何参数。
让我们创建一个名为 main.js 的 js 文件,其中包含以下代码 -
var fs = require("fs");
console.log("Going to create directory /tmp/test");
fs.mkdir('/tmp/test',function(err) {
if (err) {
return console.error(err);
}
console.log("Directory created successfully!");
});
现在运行main.js以查看结果 -
验证输出。
Directory created successfully!
读取目录
语法
以下是读取目录的方法的语法 -
fs.readdir(path, callback)
参数
以下是所用参数的描述 -
- path − 这是包括路径在内的目录名称。
- callback - 这是回调函数,它获取两个参数(err,files),其中files是目录中文件名称的数组,不包括“..”和“..”。
让我们创建一个名为 main.js 的 js 文件,其中包含以下代码 -
var fs = require("fs");
console.log("Going to read directory /tmp");
fs.readdir("/tmp/",function(err, files) {
if (err) {
return console.error(err);
}
files.forEach( function (file) {
console.log( file );
});
});
现在运行main.js以查看结果 -
验证输出。
ccmzx99o.out
ccyCSbkF.out
employee.ser
hsperfdata_apache
test
test.txt
删除目录
语法
以下是删除目录的方法的语法 -
fs.rmdir(path, callback)
参数
以下是所用参数的描述 -
- path − 这是包括路径在内的目录名称。
- callback - 这是回调函数,除了可能的异常外,没有为完成回调提供任何参数。
让我们创建一个名为 main.js 的 js 文件,其中包含以下代码 -
var fs = require("fs");
console.log("Going to delete directory /tmp/test");
fs.rmdir("/tmp/test",function(err) {
if (err) {
return console.error(err);
}
console.log("Going to read directory /tmp");
fs.readdir("/tmp/",function(err, files) {
if (err) {
return console.error(err);
}
files.forEach( function (file) {
console.log( file );
});
});
});
现在运行main.js以查看结果 -
验证输出。
ccmzx99o.out
ccyCSbkF.out
employee.ser
hsperfdata_apache
test.txt
方法参考
以下是 Node.js 中可用的文件系统模块的参考。有关详细信息,您可以参考官方文档。
方法 | 描述 |
---|---|
fs.rename(oldPath, newPath, callback) |
异步 rename()。除了可能的异常之外,不会为完成回调提供任何参数。 |
fs.ftruncate(fd, len, callback) |
异步 ftruncate()。除了可能的异常之外,不会为完成回调提供任何参数。 |
fs.ftruncateSync(fd, len) |
同步 ftruncate()。 |
fs.truncate(path, len, callback) |
异步 truncate()。除了可能的异常之外,不会为完成回调提供任何参数。 |
fs.truncateSync(path, len) |
同步 truncate()。 |
fs.chown(path, uid, gid, callback) |
异步 chown()。除了可能的异常之外,不会为完成回调提供任何参数。 |
fs.chownSync(path, uid, gid) |
同步 chown()。 |
fs.fchown(fd, uid, gid, callback) |
异步 fchown()。除了可能的异常之外,不会为完成回调提供任何参数。 |
fs.fchownSync(fd, uid, gid) |
同步 fchown()。 |
fs.lchown(path, uid, gid, callback) |
异步 lchown()。除了可能的异常之外,不会为完成回调提供任何参数。 |
fs.lchownSync(path, uid, gid) |
同步 lchown()。 |
fs.chmod(path, mode, callback) |
异步 chmod()。除了可能的异常之外,不会为完成回调提供任何参数。 |
fs.chmodSync(path, mode) |
同步 chmod()。 |
fs.fchmod(fd, mode, callback) |
异步 fchmod()。除了可能的异常之外,不会为完成回调提供任何参数。 |
fs.fchmodSync(fd, mode) |
同步 fchmod()。 |
fs.lchmod(path, mode, callback) |
异步 lchmod()。除了可能的异常之外,不会为完成回调提供任何参数。仅在 Mac OS X 上可用。 |
fs.lchmodSync(path, mode) |
同步 lchmod()。 |
fs.stat(path, callback) |
异步 stat()。回调获取两个参数(err、stats),其中 stats 是 fs。Stats 对象。 |
fs.lstat(path, callback) |
异步 lstat()。回调获取两个参数(err、stats),其中 stats 是 fs。Stats 对象。lstat() 与 stat() 相同,不同之处在于如果 path 是符号链接,则链接本身是 stat-ed,而不是它引用的文件。 |
fs.fstat(fd, callback) |
异步 fstat()。回调获取两个参数(err、stats),其中 stats 是 fs。Stats 对象。fstat() 与 stat() 相同,不同之处在于要统计的文件由文件描述符 fd 指定。 |
fs.statSync(path) |
同步 stat()。返回 fs 的一个实例。统计。 |
fs.lstatSync(path) |
同步 lstat()。返回 fs 的一个实例。统计。 |
fs.fstatSync(fd) |
同步 fstat()。返回 fs 的一个实例。统计。 |
fs.link(srcpath, dstpath, callback) |
异步链接()。除了可能的异常之外,不会为完成回调提供任何参数。 |
fs.linkSync(srcpath, dstpath) |
同步链接()。 |
fs.symlink(srcpath, dstpath[, type], callback) |
异步 symlink()。除了可能的异常之外,不会为完成回调提供任何参数。type 参数可以设置为 'dir'、'file' 或 'junction'(默认为 'file'),并且仅在 Windows 上可用(在其他平台上忽略)。请注意,Windows 交接点要求目标路径是绝对路径。使用 'junction' 时,目标参数将自动规范化为绝对路径。 |
fs.symlinkSync(srcpath, dstpath[, type]) |
同步 symlink()。 |
fs.readlink(path, callback) |
异步 readlink()。回调获取两个参数(err、linkString)。 |
fs.realpath(path[, cache], callback) |
异步 realpath()。回调获取两个参数(err、resolvedPath)。可以使用 process.cwd 来解析相对路径。Cache 是映射路径的对象文本,可用于强制执行特定路径解析或避免对已知实际路径进行额外的 fs.stat 调用。 |
fs.realpathSync(path[, cache]) |
同步 realpath()。返回已解析的路径。 |
fs.unlink(path, callback) |
异步 unlink()。除了可能的异常之外,不会为完成回调提供任何参数。 |
fs.unlinkSync(path) |
同步 unlink()。 |
fs.rmdir(path, callback) |
异步 rmdir()。除了可能的异常之外,不会为完成回调提供任何参数。 |
fs.rmdirSync(path) |
同步 rmdir()。 |
fs.mkdir(path[, mode], callback) |
异步 mkdir(2)。除了可能的异常之外,不会为完成回调提供任何参数。模式默认为 0777。 |
fs.mkdirSync(path[, mode]) |
同步 mkdir()。 |
fs.readdir(path, callback) |
异步 readdir(3)。读取目录的内容。回调获取两个参数(err、files),其中 files 是目录中文件名称的数组,不包括 '.' 和 '..'。 |
fs.readdirSync(path) |
同步 readdir()。返回不包括 '.' 和 '..' 的文件名数组。 |
fs.close(fd, callback) |
异步 close()。除了可能的异常之外,不会为完成回调提供任何参数。 |
fs.closeSync(fd) |
同步 close()。 |
fs.open(path, flags[, mode], callback) |
异步文件打开。 |
fs.openSync(path, flags[, mode]) |
fs.open() 的同步版本。 |
fs.utimes(path, atime, mtime, callback) |
|
fs.utimesSync(path, atime, mtime) |
更改所提供路径引用的文件的文件时间戳。 |
fs.futimes(fd, atime, mtime, callback) |
|
fs.futimesSync(fd, atime, mtime) |
更改提供的文件描述符引用的文件的文件时间戳。 |
fs.fsync(fd, callback) |
异步 fsync。除了可能的异常之外,不会为完成回调提供任何参数。 |
fs.fsyncSync(fd) |
同步 fsync。 |
fs.write(fd, buffer, offset, length[, position], callback) |
将缓冲区写入 fd 指定的文件。 |
fs.write(fd, data[, position[, encoding]], callback) |
将数据写入 fd 指定的文件。如果 data 不是 Buffer 实例,则该值将被强制转换为字符串。 |
fs.writeSync(fd, buffer, offset, length[, position]) |
fs.write() 的同步版本。返回写入的字节数。 |
fs.writeSync(fd, data[, position[, encoding]]) |
fs.write() 的同步版本。返回写入的字节数。 |
fs.read(fd, buffer, offset, length, position, callback) |
从 fd 指定的文件中读取数据。 |
fs.readSync(fd, buffer, offset, length, position) |
fs.read 的同步版本。返回 bytesRead 的数目。 |
fs.readFile(filename[, options], callback) |
异步读取文件的全部内容。 |
fs.readFileSync(filename[, options]) |
fs.readFile 的同步版本。返回文件名的内容。 |
fs.writeFile(filename, data[, options], callback) |
异步将数据写入文件,如果文件已存在,则替换该文件。data 可以是字符串或缓冲区。 |
fs.writeFileSync(filename, data[, options]) |
fs.writeFile 的同步版本。 |
fs.appendFile(filename, data[, options], callback) |
将数据异步追加到文件,如果文件不存在,则创建该文件。data 可以是字符串或缓冲区。 |
fs.appendFileSync(filename, data[, options]) |
fs.appendFile 的同步版本。 |
fs.watchFile(filename[, options], listener) |
注意文件名的变化。每次访问文件时,都会调用回调监听器。 |
fs.unwatchFile(filename[, listener]) |
停止监视文件名的更改。如果指定了侦听器,则仅删除该特定侦听器。否则,所有侦听器都将被删除,您实际上已停止观看文件名。 |
fs.watch(filename[, options][, listener]) |
注意 filename 的更改,其中 filename 是文件或目录。返回的对象是 fs。FSWacher。 |
fs.exists(path, callback) |
通过检查文件系统来测试给定路径是否存在。然后使用 true 或 false 调用回调参数。 |
fs.existsSync(path) |
fs.exists 的同步版本。 |
fs.access(path[, mode], callback) |
测试用户对 path 指定的文件的权限。mode 是一个可选整数,用于指定要执行的辅助功能检查。 |
fs.accessSync(path[, mode]) |
fs.access 的同步版本。如果任何可访问性检查失败,它将抛出,并且不执行任何操作。 |
fs.createReadStream(path[, options]) |
返回一个新的 ReadStream 对象。 |
fs.createWriteStream(path[, options]) |
返回一个新的 WriteStream 对象。 |
fs.symlink(srcpath, dstpath[, type], callback) |
异步 symlink()。除了可能的异常之外,不会为完成回调提供任何参数。type 参数可以设置为 'dir'、'file' 或 'junction'(默认为 'file'),并且仅在 Windows 上可用(在其他平台上忽略)。请注意,Windows 交接点要求目标路径是绝对路径。使用 'junction' 时,目标参数将自动规范化为绝对路径。 |