1.什么是fs文件系统模块
fs模块是Node.js官方提供的、用来操作文件的模块,它提供了一系列的方法和属性,用来满足用户对文件操作需求。
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.其他更多方法可以参考官方文档
6.__dirname
__dirname:表示当前文件所处的目录。