NodeJS学习笔记(六)

文件系统

var fs = require('fs');

//input.txt内容ABC

//异步读取
fs.readFile('input.txt',function(err,data){  //回调函数,有点奇葩,data在第二个参数
    if(err){
        return console.error(err);
    }
    console.log('异步读取' + data.toString());
});

//同步读取
var data = fs.readFileSync('input.txt'); //同步的时侯fs.readFileSync(input.txt).toString()方法调出data里面的数据
console.log('同步读取' + data.toString());

console.log('程序执行完毕')

//结果:
同步读取: ABC

程序执行完毕。

异步读取: ABC

推荐异步读取,性能更高,速度更快,没有阻塞

打开文件

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

path:文件路径

flags:解读:

r:读取模式,文件不存在抛出异常

r+:读写模式,文件不存在抛出异常

rs:同步读取文件

fs+:同步读写文件

w:写入模式打开文件,文件不存在则创建(真任性)

wx:与x同,但是如果文件存在,则会写入失败

w+:读写打开文件,文件不催在则创建

wx+:类似w+,文件存在,则读写失败

a:追加模式,文件不存在则创建

ax:如果文件存在,文件追加失败

a+:以读取加追加模式打开文件,文件不在则创建

ax+:如果文件存在则追加失败

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

var fs = require('fs');

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

获取文件信息

//fs.stat(path,callback)
var fs = require('fs');

fs.stas('example.js',function(err,stas){
    console.log(stats.isFile()); //true
    console.log(stas); //{ dev: 16777220,
  mode: 33188,
  nlink: 1,
  uid: 501,
  gid: 20,
  rdev: 0,
  blksize: 4096,
  ino: 40333161,
  size: 61,
  blocks: 8,
  atime: Mon Sep 07 2015 17:43:55 GMT+0800 (CST),
  mtime: Mon Sep 07 2015 17:22:35 GMT+0800 (CST),
  ctime: Mon Sep 07 2015 17:22:35 GMT+0800 (CST) }
})

还有很多类似isFile()的函数,可以查查文档

待更新...

猜你喜欢

转载自blog.csdn.net/JimmyLLLin/article/details/82261876