node.js 基于 fs 模块对系统文件及目录进行读写操作的方法详解
这里有新鲜出炉的 Node.js 教程, 程序狗速度看过来!
Node.js 服务器端的 JavaScript
Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台, 用来方便地搭建快速的 易于扩展的网络应用. Node.js 借助事件驱动, 非阻塞 I/O 模型变得轻量和高效, 非常适合 运行在分布式设备 的 数据密集型 的实时应用
这篇文章主要介绍了 node.js 基于 fs 模块对系统文件及目录进行读写操作的方法, 结合实例形式分析了 nodejs 使用 fs 模块针对文件与目录的读写创建删除等相关操作技巧, 需要的朋友可以参考下
本文实例讲述了 node.js 基于 fs 模块对系统文件及目录进行读写操作的方法分享给大家供大家参考, 具体如下:
如果要用这个模块, 首先需要引入, fs 已经属于 node.js 自带的模块, 所以直接引入即可
var fs = require('fs');
1. 读取文件 readFile 方法使用
fs.readFile(filename, [option], callback)
方法读取文件
参数说明:
filename String 文件名
- option Object encoding String | null
- default = null flag String
- default = 'r'callback Function
- // 设置编码格式
- fs.readFile('./test.txt', 'utf-8',
- function(err, data) {
- // 读取文件失败 / 错误
- if (err) {
- throw err;
- }
- // 读取文件成功
- console.log('utf-8:', data.toString());
- });
2. 写入文件 writeFile 方法使用
使用
fs.writeFile(filename, data, [options], callback)
写入内容到文件
参数说明:
filename String 文件名
- data String|buffer
- option Object
- encoding String |nulldefault='utf-8'
- mode Number default=438(aka 0666 in Octal)
- flag Stringdefault='w'
- callback Function
- var fs = require('fs'); // 引入 fs 模块
- // 写入文件内容 (如果文件不存在会创建一个文件)
- // 写入时会先清空文件
- fs.writeFile('./test2.txt', 'test test', function(err) {
- if (err) {
- throw err;
- }
- console.log('Saved.');
- // 写入成功后读取测试
- fs.readFile('./test2.txt', 'utf-8', function(err, data) {
- if (err) {
- throw err;
- }
- console.log(data);
- });
- });
因为默认 flag='w'是写, 会清空文件, 想要追加, 可以传递一个 flag 参数, 如下
flag 传值, r 代表读取文件, w 代表写文件, a 代表追加
- var fs = require('fs'); // 引入 fs 模块
- // 写入文件内容 (如果文件不存在会创建一个文件)
- // 传递了追加参数 { 'flag': 'a' }
- fs.writeFile('./test2.txt', 'test test', { 'flag': 'a' }, function(err) {
- if (err) {
- throw err;
- }
- console.log('Saved.');
- // 写入成功后读取测试
- fs.readFile('./test2.txt', 'utf-8', function(err, data) {
- if (err) {
- throw err;
- }
- console.log(data);
- });
- });
3. 创建目录 mkdir 使用
使用
fs.mkdir(path, [mode], callback)
创建目录, path 是需要创建的目录,[mode] 是目录的权限 (默认是 0777),callback 是回调函数
- var fs = require('fs'); // 引入 fs 模块
- // 创建 newdir 目录
- fs.mkdir('./newdir', function(err) {
- if (err) {
- throw err;
- }
- console.log('make dir success.');
- });
4. 读取目录 readdir
- var fs = require('fs'); // 引入 fs 模块
- fs.readdir('./newdir', function(err, files) {
- if (err) {
- throw err;
- }
- // files 是一个数组
- // 每个元素是此目录下的文件或文件夹的名称
- console.log(files);
- });
5. 删除文件 unlink
- var fs = require('fs'); // 引入 fs 模块
- fs.unlink('./newfile.txt', function(err) {
- if (err) {
- console.log(err);
- return false;
- }
- console.log("success");
- });
6. 删除空文件夹 rmdir
- var fs = require('fs'); // 引入 fs 模块
- fs.rmdir('./newdir', function(err) {
- if (err) {
- console.log(err);
- return false;
- }
- console.log("success");
- });
希望本文所述对大家 nodejs 程序设计有所帮助
来源: http://www.phperz.com/article/18/0205/360860.html