开发中我们经常会有文件I/O的需求,node.js中提供一个名为fs的模块来支持I/O操作,fs模块的文件I/O是对标准POSIX函数的简单封装。
一,写入文件
/*
文件I/O,写入是必修课之一。fs模块提供writeFile函数,可以异步的将数据写入一个文件, 如果文件已经存在则会被替换。用法如下:
例:fs.writeFile(filename, data, callback)
*/
var fs= require("fs");
fs.writeFile('test.txt', 'Hello Node', function (err) {
if (err) throw err;
console.log('Saved successfully'); //文件被保存
});
//数据参数可以是string或者是Buffer,编码格式参数可选,默认为"utf8",回调函数只有一个参数err。
二,追加文件
/* 文件I/O,写入是必修课之一。fs模块提供writeFile函数,可以异步的将数据写入一个文件, 如果文件已经存在则会被替换。用法如下: 例:fs.writeFile(filename, data, callback) */ var fs= require("fs"); fs.writeFile('test.txt', 'Hello Node', function (err) { if (err) throw err; console.log('Saved successfully'); //文件被保存 }); //数据参数可以是string或者是Buffer,编码格式参数可选,默认为"utf8",回调函数只有一个参数err。
三,文件是否存在
/* 如何检查一个文件是否存在呢?我想exists函数可以帮助你,用法如下: 例:fs.exists(文件,回调函数(exists)); exists的回调函数只有一个参数,类型为布尔型,通过它来表示文件是否存在。 */ var fs= require("fs"); fs.exists('/etc/passwd', function (exists) { console.log(exists ? "存在" : "不存在!"); });
四,修改文件
/* 修改文件名称是我们经常会遇见的事情,rename函数提供修改名称服务: */ var fs= require("fs"); fs.rename('/etc/passwd','/etc/passwdNew',function(err){ if (err) throw err; console.log('Successful modification,'); });
五,移动文件
//移动文件也是我们经常会遇见的,可是fs没有专门移动文件的函数,但是我们可以通过rename函数来达到移动文件的目的,示例如下: var fs = require('fs'); fs.rename('/etc/passwd','/root',function (err) { if (err) throw err; console.log('renamed complete'); });
ps:测试环境,无文件,嘿嘿。。
六,读取文件
//读取文件是最常用到的功能之一,使用fs模块读取文件语法如下: //例:fs.readFile(文件,编码,回调函数); var fs = require('fs'); fs.readFile('/etc/passwdNew', function (err, data) { if (err) throw err; console.log(data); });