一、字符串操作文件
(filename,data,[options],callback); 创建并写入文件
/**
* filename, 必选参数,文件名
* data, 写入的数据,可以字符或一个Buffer对象
* [options],flag 默认‘2’,mode(权限) 默认‘0o666’,encoding 默认‘utf8’
* callback 回调函数,回调函数只包含错误信息参数(err),在写入失败时返回。
*/
//创建文件
var fs=require('fs');
//如果文件目录不存在,抛出异常:{ [Error: ENOENT, open 'f:\test1\'] errno: -4058, code: 'ENOENT', path: 'f:\\test1\\' }
//如果文件已经存在,则重新创建
('f:\\test1\\','文件内容2',function(err){
if(err)
return (err);
('写入文件成功');
});
var w_data = '这是一段通过函数写入的内容;\r\n';
var w_data = new Buffer(w_data);
(w_data); //<Buffer e8 bf ... >
('f:\\test1\\',w_data,function(err){
if(err)
return (err);
('写入文件成功');
});
(filename,[options],callback); 读取文件内容
//字符串方式读取文件
/**
* filename, 必选参数,文件名
* [options],可选参数,可指定flag 默认为‘r’,encoding 默认为null,在读取的时候,需要手动指定
* callback 读取文件后的回调函数,参数默认第一个err,第二个data 数据
*/
var fs=require('fs');
var path=require('path');
var file1=('/test1/');
//如果文件不存在,抛出异常 { [Error: ENOENT, open 'F:\test2\'] errno: -4058, code: 'ENOENT', path: 'F:\\test2\\' }
(file1,function(err,data){
if(err)
return (err);
//获取到文件的所有内容
//默认没有指定编码,返回结果如下
(data); //<Buffer xxxxx ... >
});
//读取需要制定编码
(file1,{flag:'r+',encoding:'utf8'},function(err,data){
if(err)
return (err);
//获取到文件的所有内容
(data);
});
(path, callback); 判断文件或目录是否存在
/**
* path, 要查看目录/文件的完整路径及名;
* [callback(exists)], 操作完成回调函数;exists true存在,false表示不存在
*/
//判断文件是否存在
var fs=require('fs');
var path=require('path');
var file1=('/test1/');
(file1,function(exists){
if(exists){
('文件存在');
}else{
('文件不存在');
}
});
(path, callback) 获取文件信息
/*
* path - 文件路径。
* callback - 回调函数,带有两个参数如:(err, stats), stats 是 对象
*/
//获取文件信息
var fs = require('fs');
var path = require('path');
var file1 = ('/test1/');
(file1, function(err, stats) {
(stats);
(()); //true
(()); //false
});
(filename,data,[options],callback); 已追加方式写文件
// 参数同
var fs = require('fs');
var path = require('path');
var file1 = ('/test1/');
//如果文件夹不存在,抛出异常{ [Error: ENOENT, open 'F:\test2\'] errno: -4058, code: 'ENOENT', path: 'F:\\test2\\' }
//如果文件不存在,则创建新的文件
(file1, '追加一行新内容\r\n', function(err) {
if (err) {
(err);
return;
}
('追加文件内容成功');
});
(path, callback) 删除文件
/**
* path - 文件路径。
* callback - 回调函数,没有参数。
*/
var fs=require('fs');
var path=require('path');
var file1=('/test1/');
//删除文件
//1.如果文件不存在抛出异常:{ [Error: ENOENT, unlink 'F:\test1\'] errno: -4058, code: 'ENOENT', path: 'F:\\test1\\' }
(file1,function(err){
if(err)
return (err);
('删除文件成功');
});