博客
关于我
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/

你可能感兴趣的文章
NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_无分页功能_02_转换数据_分割数据_提取JSON数据_替换拼接SQL_添加分页---大数据之Nifi工作笔记0037
查看>>
NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
查看>>
nifi使用过程-常见问题-以及入门总结---大数据之Nifi工作笔记0012
查看>>
NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
查看>>
Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066
查看>>
NIFI大数据进阶_FlowFile拓扑_对FlowFile内容和属性的修改删除添加_介绍和描述_以及实际操作---大数据之Nifi工作笔记0023
查看>>
NIFI大数据进阶_NIFI的模板和组的使用-介绍和实际操作_创建组_嵌套组_模板创建下载_导入---大数据之Nifi工作笔记0022
查看>>
NIFI大数据进阶_NIFI监控的强大功能介绍_处理器面板_进程组面板_summary监控_data_provenance事件源---大数据之Nifi工作笔记0025
查看>>
NIFI大数据进阶_NIFI集群知识点_认识NIFI集群以及集群的组成部分---大数据之Nifi工作笔记0014
查看>>
NIFI大数据进阶_NIFI集群知识点_集群的断开_重连_退役_卸载_总结---大数据之Nifi工作笔记0018
查看>>
NIFI大数据进阶_内嵌ZK模式集群1_搭建过程说明---大数据之Nifi工作笔记0015
查看>>
NIFI大数据进阶_外部ZK模式集群1_实际操作搭建NIFI外部ZK模式集群---大数据之Nifi工作笔记0017
查看>>
NIFI大数据进阶_离线同步MySql数据到HDFS_01_实际操作---大数据之Nifi工作笔记0029
查看>>
NIFI大数据进阶_离线同步MySql数据到HDFS_02_实际操作_splitjson处理器_puthdfs处理器_querydatabasetable处理器---大数据之Nifi工作笔记0030
查看>>
NIFI大数据进阶_连接与关系_设置数据流负载均衡_设置背压_设置展现弯曲_介绍以及实际操作---大数据之Nifi工作笔记0027
查看>>
NIFI数据库同步_多表_特定表同时同步_实际操作_MySqlToMysql_可推广到其他数据库_Postgresql_Hbase_SqlServer等----大数据之Nifi工作笔记0053
查看>>
NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南001---大数据之Nifi工作笔记0068
查看>>
NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南002---大数据之Nifi工作笔记0069
查看>>
NIFI集群_内存溢出_CPU占用100%修复_GC overhead limit exceeded_NIFI: out of memory error ---大数据之Nifi工作笔记0017
查看>>