博客
关于我
Nodejs中的fs模块的使用
阅读量:793 次
发布时间: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/

你可能感兴趣的文章
nacos集群搭建
查看>>
Navicat for MySQL 查看BLOB字段内容
查看>>
Neo4j电影关系图Cypher
查看>>
Neo4j的安装与使用
查看>>
Neo4j(2):环境搭建
查看>>
Neo私链
查看>>
nessus快速安装使用指南(非常详细)零基础入门到精通,收藏这一篇就够了
查看>>
Nessus漏洞扫描教程之配置Nessus
查看>>
Nest.js 6.0.0 正式版发布,基于 TypeScript 的 Node.js 框架
查看>>
NetApp凭借领先的混合云数据与服务把握数字化转型机遇
查看>>
NetBeans IDE8.0需要JDK1.7及以上版本
查看>>
netcat的端口转发功能的实现
查看>>
netfilter应用场景
查看>>
netlink2.6.32内核实现源码
查看>>
Netpas:不一样的SD-WAN+ 保障网络通讯品质
查看>>
NetScaler的常用配置
查看>>
netsh advfirewall
查看>>
NETSH WINSOCK RESET这条命令的含义和作用?
查看>>
Netty WebSocket客户端
查看>>
netty 主要组件+黏包半包+rpc框架+源码透析
查看>>