Node.js中的fs模块与文件系统操作相关,主要用于实现文件系统的操作。fs模块中提供了大量与文件系统相关的操作方法,这些方法分为同步方法和异步方法,开发人员可以根据实际需要进行选择,从而对文件系统进行操作。
一、对文件的读写操作
(1)使用appendFile()方法和appendFileSync()方法可以将一个字符串或者缓存区中的内容追加到一个文件的结尾。程序示例:
- 创建文本文件test.txt并输入初始内容:
这是test.txt文件原有的内容。
- 创建app.js文件:
var fs = require('fs'); //引入fs模块
fs.appendFile('./test.txt', '这是追加在test.txt文本文件之后的数据。', function(error){
if(error){
console.log('向文件结尾追加内容失败:' + error);
}else{
console.log('向文件结尾追加内容操作成功。');
}
});
程序运行截图:
fs.appendFile(filename, data, [options], callback);
appendFile()方法可以接收四个参数:
- filename:必选参数,表示被操作文件的完整路径以及文件名称。
- data:必选参数,表示将要被追加到文件结尾的内容。
- options:可选参数,表示以什么样的方式执行该操作。默认值是‘a’,表示在文件的末尾追加内容。
- callback:必选参数,表示appendFile()方法执行完毕之后调用的回调函数。
使用appendFileSync()方法以同步的方式向文件末尾追加内容。程序示例:
var fs = require('fs'); //引入fs模块
try{
fs.appendFileSync('./test.txt', '这是追加在test.txt文本文件之后的数据。');
console.log('向文件的末尾追加内容操作成功。');
}catch(ex){
console.log('向文件末尾追加内容失败:' + ex);
}
程序运行截图:
(2)使用mkdir()方法可以在应用程序中创建目录,程序示例:
var fs = require('fs');
/*
*在当前目录下创建directory目录
*/
fs.mkdir('./directory', function(error){
if(error){
console.log('创建目录发生错误:' + error);
}else{
console.log('创建目录成功。');
}
});
程序运行截图:
fs.mkdir(path, [mode], callback);
mkdir()方法可以接收三个参数:
- path:必选参数,表示被创建的目录需要放在哪个路径下,以及被创建的目录的名称。
- mode:可选参数,表示该目录的权限,默认值为0777,即任何人都可以对该目录进行读写操作。
- callback:必选参数,表示该方法执行完成之后执行的回调函数。
(3)使用mkdirSync()方法以同步的方式创建目录,程序示例:
var fs = require('fs'); //加载fs模块
/*
*以同步的方式创建目录
*/
try{
fs.mkdirSync('./test');
console.log('目录创建成功。');
}catch(e){
console.log('创建目录过程中发生错误:' + e);
}
程序运行截图:
(4)在Node.js中可以使用readdir()方法读取文件目录中的内容,程序示例:
var fs = require('fs');
/*
*使用readdir()方法读取目录中的内容
*/
fs.readdir('./test', function(error, files){
if(error){
console.log('读取目录时发生错误:' + error);
}else{
console.log('目录下的文件有:' + files);
}
});
程序运行截图: