zoukankan      html  css  js  c++  java
  • nodejs学习笔记<六>文件处理

    nodejs处理文件模块:fs  —>  var fs = require(‘fs’);

    读取文件:readFileSync & readFile

    1. 读取文件路径为绝对;
    2. 读取结果需要toString();

    readFileSync:

    • 同步读取文件,既文件未读取完(或读取异常),程序会阻塞在readFileSync不会继续往下执行。

    fs.readFileSync('path'); //路径为绝对路径

    例:

    var file = require('fs');
    
    function file_parse(){
        var str = file.readFileSync('f:/node/content.txt');//获取文件流
        console.log(str.toString());
        console.log('文件读取完毕');
    }
    file_parse();

    执行结果:

    readFile:

    • 同步读取文件,代码不会被阻塞(不会因文件读取时间长,或读取异常而影响后续代码的执行)。

    fs.readFile('path',callback[function (){}]); //路径为绝对路径,毁掉函数

    例:

    var file = require('fs');
    
    function file_parse(){
        var str = file.readFile('f:/node/content.txt',function(err,data){
            if(err) {return console.error(err);}
            console.log(data.toString());
        }); 
        //err异常信息;data读取文件流
        console.log('继续执行......');
    }
    file_parse();

    执行结果:

    ******************************************************************************************************************

    写入文件:writeFile

    1. 写入文件路径为绝对;(路径不正确或路径非绝对路径,写入不生效)
    2. 写入成功后,原文件的内容会被重写。

    writeFile:

    • 非同步写入文件,代码不会被阻塞。

    fs.writeFile('path','content','charset',callback[function (){}]); //路径为绝对路径,写入内容,编码格式(可选),回调函数

    例:

    var file = require('fs');
    function file_write(){
        file.writeFile('F:/node/content.txt','这是写入内容','UTF-8',function (err){
            if(err){ console.error(err); }
            console.log('继续执行......');
        });
    }
    file_write();

    无论是否写入成功(只要没出现异常),callback的内容都会被执行。

    ******************************************************************************************************************

    删除文件:unlink

    1. 路径为绝对路径;
    2. 被删除文件不会出现回收站;

    fs.unlink('path',callback[function(){}]); //路径为绝对路径,回调函数

    例:

    var file = require('fs');
    function del(){
        file.unlink('f:/node/new.txt',function (){console.log('success');});
    }
    del();

    执行后,指定删除文件不会出现在回收站

    ******************************************************************************************************************

    查看文件状态:stat

    1. 路径为绝对路径;

    fs.stat('path',callback[function(err,stat){}]); //路径为绝对路径,回调函数(异常信息,文件信息)

    例:

    var file = require('fs');
    function stat_file(){
        file.stat('f:/node/content.txt',function (err,data){
            if(err){ console.error(err); }
            else{ console.log(data); }
        });
    }
    stat_file();

    执行结果:

    以上收集的一些常用方法,关于fs详细说明,请查看官方文档:官方文档

  • 相关阅读:
    洛谷.3254.圆桌问题(最大流ISAP)
    BZOJ.2639.矩形计算(二维莫队)
    BZOJ.2724.[Violet 6]蒲公英(静态分块)
    BZOJ.4241.历史研究(回滚莫队 分块)
    BZOJ.4542.[HNOI2016]大数(莫队)
    SPOJ.COT2 Count on a tree II(树上莫队)
    BZOJ.3757.苹果树(树上莫队)
    洛谷.2325.[SCOI2005]王室联邦(贪心)
    BZOJ.1299.[LLH邀请赛]巧克力棒(博弈论 Nim)
    HDU.2516.取石子游戏(博弈论 Fibonacci Nim)
  • 原文地址:https://www.cnblogs.com/MirageFox/p/5670941.html
Copyright © 2011-2022 走看看