zoukankan      html  css  js  c++  java
  • nodejs fs 文件系统

    Node.js 文件系统(fs 模块)模块中的方法均有异步和同步版本,例如读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFileSync()。

    var fs = require("fs");
    
    // 异步读取
    fs.readFile('input.txt', function (err, data) {
       if (err) {
           return console.error(err);
       }
       console.log("异步读取: " + data.toString());
    });
    
    // 同步读取
    var data = fs.readFileSync('input.txt');
    console.log("同步读取: " + data.toString());
    
    console.log("程序执行完毕。");

    fs.open(path, flags[, mode], callback)

    参数

    参数使用说明如下:

    • path - 文件的路径。

    • flags - 文件打开的行为。具体值详见下文。

    • mode - 设置文件模式(权限),文件创建默认权限为 0666(可读,可写)。

    • callback - 回调函数,带有两个参数如:callback(err, fd)。

    flags 参数可以是以下值:

    Flag描述
    r 以读取模式打开文件。如果文件不存在抛出异常。
    r+ 以读写模式打开文件。如果文件不存在抛出异常。
    rs 以同步的方式读取文件。
    rs+ 以同步的方式读取和写入文件。
    w 以写入模式打开文件,如果文件不存在则创建。
    wx 类似 'w',但是如果文件路径不存在,则文件写入失败。
    w+ 以读写模式打开文件,如果文件不存在则创建。
    wx+ 类似 'w+', 但是如果文件路径不存在,则文件读写失败。
    a 以追加模式打开文件,如果文件不存在则创建。
    ax 类似 'a', 但是如果文件路径不存在,则文件追加失败。
    a+ 以读取追加模式打开文件,如果文件不存在则创建。
    ax+ 类似 'a+', 但是如果文件路径不存在,则文件读取追加失败。

    实例

    接下来我们创建 file.js 文件,并打开 input.txt 文件进行读写,代码如下所示:

    var fs = require("fs");
    
    // 异步打开文件
    console.log("准备打开文件!");
    fs.open('input.txt', 'r+', function(err, fd) {
       if (err) {
           return console.error(err);
       }
      console.log("文件打开成功!");     
    });

    以上代码执行结果如下:

    $ node file.js 
    准备打开文件!
    文件打开成功!

    获取文件信息

    fs.stat(path, callback)

    fs类中的方法
    方法描述
    stats.isFile() 如果是文件返回 true,否则返回 false。
    stats.isDirectory() 如果是目录返回 true,否则返回 false。
    stats.isBlockDevice() 如果是块设备返回 true,否则返回 false。
    stats.isCharacterDevice() 如果是字符设备返回 true,否则返回 false。
    stats.isSymbolicLink() 如果是软链接返回 true,否则返回 false。
    stats.isFIFO() 如果是FIFO,返回true,否则返回 false。FIFO是UNIX中的一种特殊类型的命令管道。
    stats.isSocket() 如果是 Socket 返回 true,否则返回 false。

    实例

    接下来我们创建 file.js 文件,代码如下所示:

    var fs = require("fs");
    
    console.log("准备打开文件!");
    fs.stat('input.txt', function (err, stats) {
       if (err) {
           return console.error(err);
       }
       console.log(stats);
       console.log("读取文件信息成功!");
       
       // 检测文件类型
       console.log("是否为文件(isFile) ? " + stats.isFile());
       console.log("是否为目录(isDirectory) ? " + stats.isDirectory());    
    });
    参考 http://www.runoob.com/nodejs/nodejs-fs.html

     

    
    
  • 相关阅读:
    关于 CommonJS AMD CMD UMD 规范
    如何成为一名卓越的前端工程师
    javascript 中 void 0的含义及undefine于void 0区别
    原生js获取样式表:currentStyle与defaultView的区别 真实例子
    attachEvent与addEventListener的区别 真实例子
    将图片转换成黑白(灰色、置灰)
    前端图片缓存问题
    html里的<wbr>标签什么意思
    关于SQL SERVER中的FLOAT转换为VARCHAR
    记一次工作需求: RSA密钥之C#格式与Java格式转换
  • 原文地址:https://www.cnblogs.com/cylblogs/p/5147646.html
Copyright © 2011-2022 走看看