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

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

 

 

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

 

 

 

实际代码如下所示:

/**
 * 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');
        });
    });
});

 

posted @ 2016-08-30 17:20  夺命雷公狗  阅读(250)  评论(0)    收藏  举报