夺命雷公狗---node.js---12之fs模块文件的操作

时间:2024-08-27 11:03:50

node比客户端浏览器的js强的地方之一就是他的文件操作模块,可以直接对系统的文件进行操作

夺命雷公狗---node.js---12之fs模块文件的操作

再打开来看下是否发生了变化,由此可见node的强大的地方了。。

夺命雷公狗---node.js---12之fs模块文件的操作

实际代码如下所示:

/**
* Created by leigood on 2016/8/30.
*/
var fs = require('fs');
var exec = require('child_process').exec; //打开
var data = fs.readFileSync('day.txt','utf-8');
//console.log(data); //复制文件
//exec('copy day.txt day2.txt'); //修改文件名
//fs.rename('day2.txt','delete.txt'); //修改文件内容
//fs.open(path, flags, [mode], [callback(err,fd)])
//'r' - 以读取模式打开文件。
//'r+' - 以读写模式打开文件。
//'rs' - 使用同步模式打开并读取文件。指示操作系统忽略本地文件系统缓存。
//'rs+' - 以同步的方式打开,读取 并 写入文件。
//注意:这不是让fs.open变成同步模式的阻塞操作。如果想要同步模式请使用fs.openSync()。
//
//'w' - 以读取模式打开文件,如果文件不存在则创建
//'wx' - 和 ' w ' 模式一样,如果文件存在则返回失败
//'w+' - 以读写模式打开文件,如果文件不存在则创建
//'wx+' - 和 ' w+ ' 模式一样,如果文件存在则返回失败
//
//'a' - 以追加模式打开文件,如果文件不存在则创建
//'ax' - 和 ' a ' 模式一样,如果文件存在则返回失败
//'a+' - 以读取追加模式打开文件,如果文件不存在则创建
//'ax+' - 和 ' a+ ' 模式一样,如果文件存在则返回失败
//mode 用于创建文件时给文件制定权限,默认0666
fs.open('day.txt','a',function(err,con){
if(err){
throw err;
}
var data = "welcome leigood fs";
fs.write(con,data,function(err,bytesWritten,buffer){
if(err){
throw err;
}
console.log(bytesWritten);
console.log(buffer);
//这下面的错误主要是预防多个人同时打开同一个文件造成影响
fs.close(con,function(err){
if(err){
throw err;
}
console.log('file close');
});
});
});