Node.js----fs文件系统模块

简介: Node.js----fs文件系统模块

1.什么是fs文件系统模块

fs模块是Node.js官方提供的、用来操作文件的模块,它提供了一系列的方法和属性,用来满足用户对文件操作需求。

官方fs文件系统模块文档(中文)

2.导入fs文件系统模块

要在JavaScript代码中使用fs模块来操作文件,需要先导入fs文件系统模块

语法:

// 导入fs文件系统模块
const fs = require('fs')

3.使用fs文件系统模块读取文件

使用fs文件系统模块读取文件使用 fs.readFile()

语法:

fs.readFile( path[, options], callback )

path:要读取文件的路径

options:可选参数,以什么编码格式读取文件,默认的为utf-8

callback:回调函数,通过回调函数拿到读取文件的结果

回调函数中有两个参数,第一个参数为错误参数,第二个参数为读取的数据参数

示例:

1.读取文件成功:

// 导入fs文件系统模块
const fs = require( 'fs' )
// 读取1.txt文件中的文本内容
// 读取文件的编码格式为 utf-8
// 回调函数中,第一个参数为错误参数,第二个参数为读取的数据参数
fs.readFile( './1.txt', 'utf-8', function( err, data ) {
  // 打印错误参数
  console.log(err);
  console.log('-----------------');
  // 打印数据参数
  console.log(data);
} )

读取文件成功,err错误对象会为空,data为读取文件中的数据

可以根据err是否为空来判断读取文件是否成功

2.读取文件失败:

// 导入fs文件系统模块
const fs = require( 'fs' )
// 读取1.txt文件中的文本内容
// 读取文件的编码格式为 utf-8
// 回调函数中,第一个参数为错误参数,第二个参数为读取的数据参数
fs.readFile( './1111111111111111111.txt', 'utf-8', function( err, data ) {
  // 打印错误参数
  console.log(err);
  console.log('-----------------');
  // 打印数据参数
  console.log(data);
} )

读取文件失败,err不为空,为错误信息对象,data数据对象为未定义

3.判断读取文件是否成功:

const fs = require( 'fs' )
// 读取文件成功
fs.readFile( './1.txt', 'utf-8', function( err, data ) {
  console.log('----------------------------------------------------------');
  // 如果读取文件失败,打印错误信息,返回
  if( err ) {
    console.log(err);
    return err;
  }
  // 打印读取的文件数据
  console.log('读取文件成功:\n'+data);
  console.log('----------------------------------------------------------');
} )
// 读取文件失败
fs.readFile( './111111.txt', 'utf-8', function( err, data ) {
  console.log('----------------------------------------------------------');
  // 如果读取文件失败,打印错误信息,返回
  if( err ) {
    console.log(err);
    return err;
  }
  // 打印读取的文件数据
  console.log(data);
  console.log('----------------------------------------------------------');
} )

4.使用fs文件系统模块向文件中写入内容

使用fs文件系统模块向文件中写入内容,使用fs.writeFile()向指定文件中写入内容。

语法:

fs.watchFile( file, data[, options], callback )

file:要写入数据对应的文件的路径

data:要写入的数据

options:可选参数,以什么编码格式读取文件,默认的为utf-8

callback:回调函数,通过回调函数拿到读取文件的结果

回调函数中有一个参数,为错误参数

示例

// 导入fs文件系统模块
const fs = require( 'fs' )
// 要写入的数据
const dataStr = 'Hello Node.js'
// 向2.txt中写入Hello Node.js
fs.writeFile( './2.txt', dataStr, function(err) {
  // 打印错误信息
  console.log(err);
} )

若指定路径中不存在对应的文件,会在对应路径自动创建一个文件

与读取文件一样,写入文件一样可以通过回调函数中的err参数来判断写入文件是否成功

5.其他更多方法可以参考官方文档

官方fs文件系统模块文档(中文)

6.__dirname

__dirname:表示当前文件所处的目录。


相关文章
|
2月前
|
缓存 JavaScript 安全
nodejs里面的http模块介绍和使用
综上所述,Node.js的http模块是构建Web服务的基础,其灵活性和强大功能,结合Node.js异步非阻塞的特点,为现代Web应用开发提供了坚实的基础。
124 62
|
3月前
|
JavaScript 前端开发
Vue、ElementUI配合Node、multiparty模块实现图片上传并反显_小demo
如何使用Vue和Element UI配合Node.js及multiparty模块实现图片上传并反显的功能,包括前端的Element UI组件配置和后端的Node.js服务端代码实现。
63 1
|
2月前
|
JavaScript Unix API
Node.js 文件系统
10月更文挑战第6天
27 2
|
2月前
|
缓存 JSON JavaScript
Node.js模块系统
10月更文挑战第4天
47 2
|
2月前
|
JavaScript 应用服务中间件 Apache
Node.js Web 模块
10月更文挑战第7天
34 0
|
2月前
|
JavaScript 网络协议
Node.js 工具模块
10月更文挑战第7天
22 0
|
2月前
|
JavaScript 前端开发 应用服务中间件
Node.js Web 模块
Node.js Web 模块
|
3月前
Nest.js 实战 (十二):优雅地使用事件发布/订阅模块 Event Emitter
这篇文章介绍了在Nest.js构建应用时,如何通过事件/发布-订阅模式使应用程序更健壮、灵活、易于扩展,并简化服务间通信。文章主要围绕@nestjs/event-emitter模块展开,这是一个基于eventemitter2库的社区模块,提供了事件发布/订阅功能,使得实现事件驱动架构变得简单。文章还介绍了如何使用该模块,包括安装依赖、初始化模块、注册EventEmitterModule、使用装饰器简化监听等。最后总结,集成@nestjs/event-emitter模块可以提升应用程序的事件驱动能力,构建出更为松耦合、易扩展且高度灵活的系统架构,是构建现代、响应迅速且具有高度解耦特性的Nest.
|
3月前
|
缓存 JavaScript 前端开发
JavaScript模块化开发:ES6模块与CommonJs的对比与应用
JavaScript模块化开发:ES6模块与CommonJs的对比与应用
37 2
|
JavaScript 关系型数据库 MySQL
Node.js学习笔记----mysql模块
Node.js学习笔记----mysql模块