zoukankan      html  css  js  c++  java
  • 夺命雷公狗---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');
            });
        });
    });
  • 相关阅读:
    JS动态计算rem
    Vue数据双向绑定原理
    NOI2019 退役记
    友情链接
    算法博客总结
    总结各类错误(always online)
    学习笔记:powerful number求积性函数前缀和
    LOJ#2409. 「THUPC 2017」小 L 的计算题 / Sum(生成函数)
    多项式简单操作
    LOJ #3103. 「JSOI2019」节日庆典
  • 原文地址:https://www.cnblogs.com/leigood/p/5822820.html
Copyright © 2011-2022 走看看