博客
关于我
Nodejs中的fs模块的使用
阅读量:792 次
发布时间:2023-02-16

本文共 2597 字,大约阅读时间需要 8 分钟。

Node.js模块、自定义模块、CommonJs的概念和使用

在Node.js开发过程中,文件系统操作是日常工作中的重要部分。要高效地进行文件读写、目录管理等操作,Node.js内置的fs模块提供了丰富的功能。以下将详细介绍fs模块的常用方法及其使用示例。


1. fs模块的引入

在使用fs模块之前,需要先引入它。Node.js模块的引入方式如下:

const fs = require('fs');

2. fs.stat 检测文件类型

fs.stat方法用于获取文件或目录的状态信息。可以判断文件是否为文件或目录,并获取相关属性。

// 检测当前目录是否为文件或目录fs.stat('./html',(err, data) => {    if (err) {        console.log(err);        return;    }    console.log(`是文件:${data.isFile()}`);    console.log(`是目录:${data.isDirectory()}`);});// 检测package.json是否为文件fs.stat('./package.json',(err, data) => {    if (err) {        console.log(err);        return;    }    console.log(`是文件:${data.isFile()}`);    console.log(`是目录:${data.isDirectory()}`);});

3. fs.mkdir 创建目录

fs.mkdir用于创建目录,支持指定路径和权限。默认权限为777(读写执行)。

// 创建css目录fs.mkdir('./css',(err) => {    if (err) {        console.log(err);        return;    }    console.log('创建成功');});

4. fs.writeFile 创建或写入文件

fs.writeFile用于将数据写入文件。支持指定文件名、内容和编码方式,默认使用utf8编码。

// 写入html/index.html文件fs.writeFile('./html/index.html','你好nodejs',(err) => {    if (err) {        console.log(err);        return;    }    console.log('创建写入文件成功');});

5. fs.appendFile 追加文件内容

fs.appendFile用于在文件末尾追加内容,常用于日志记录等场景。

// 在css/base.css追加内容fs.appendFile('./css/base.css','body{color:red}',(err) => {    if (err) {        console.log(err);        return;    }    console.log('appendFile 成功');});

6. fs.readFile 读取文件

fs.readFile用于读取文件内容,支持指定编码方式。

// 读取html/index.html文件fs.readFile('./html/index.html',(err, data) => {    if (err) {        console.log(err);        return;    }    console.log(data);    console.log(data.toString()); // 将Buffer转换为字符串});

7. fs.readdir 读取目录

fs.readdir用于获取指定目录下的文件和目录列表。

// 读取html目录下的文件fs.readdir('./html',(err, data) => {    if (err) {        console.log(err);        return;    }    console.log(data);});

8. fs.rename 重命名或移动文件

fs.rename方法可用于重命名文件或移动文件到其他目录。

// 重命名css/aaa.css为css/index.cssfs.rename('./css/aaa.css','./css/index.css',(err) => {    if (err) {        console.log(err);        return;    }    console.log('重命名成功');});// 移动css/index.css到html目录fs.rename('./css/index.css','./html/index.css',(err) => {    if (err) {        console.log(err);        return;    }    console.log('移动文件成功');});

9. fs.rmdir 删除目录

fs.rmdir用于删除指定目录。操作前需确保目录为空。

// 删除aaaa目录fs.rmdir('./aaaa',(err) => {    if (err) {        console.log(err);        return;    }    console.log('删除目录成功');});

fs.unlink用于删除指定文件。

// 删除aaaa/index.html文件fs.unlink('./aaaa/index.html',(err) => {    if (err) {        console.log(err);        return;    }    console.log('删除文件成功');});

通过以上方法,可以轻松地完成文件和目录的读写、重命名、删除等操作。在实际开发中,需根据具体需求选择合适的方法,并注意处理异常情况。

转载地址:http://otjfk.baihongyu.com/

你可能感兴趣的文章
nginx + etcd 动态负载均衡实践(二)—— 组件安装
查看>>
nginx + etcd 动态负载均衡实践(四)—— 基于confd实现
查看>>
Nginx + Spring Boot 实现负载均衡
查看>>
Nginx + uWSGI + Flask + Vhost
查看>>
Nginx - Header详解
查看>>
Nginx - 反向代理、负载均衡、动静分离、底层原理(案例实战分析)
查看>>
nginx 1.24.0 安装nginx最新稳定版
查看>>
nginx 301 永久重定向
查看>>
nginx css,js合并插件,淘宝nginx合并js,css插件
查看>>
Nginx gateway集群和动态网关
查看>>
Nginx Location配置总结
查看>>
Nginx log文件写入失败?log文件权限设置问题
查看>>
Nginx Lua install
查看>>
nginx net::ERR_ABORTED 403 (Forbidden)
查看>>
Nginx SSL私有证书自签,且反代80端口
查看>>
Nginx upstream性能优化
查看>>
Nginx 中解决跨域问题
查看>>
nginx 代理解决跨域
查看>>
Nginx 动静分离与负载均衡的实现
查看>>
Nginx 反向代理 MinIO 及 ruoyi-vue-pro 配置 MinIO 详解
查看>>