首页 > 其他 > 详细

node基础:文件系统-文件读取

时间:2014-03-16 15:08:53      阅读:272      评论:0      收藏:0      [点我收藏+]

node的文件读取主要分为同步读取、异步读取,常用API有fs.readFile、fs.readFileSync。还有诸如更底层的fs.read,以及数据流(stream),后面再总结下咯~

直接上简单的demo,看下同步/异步接口的调用时的区别,以及分别对应的异常处理方式。

至于API说明,可参考node官方文档

bubuko.com,布布扣
/**
 * 文件读取demo,by 程序猿小卡
 */
var fs = require(‘fs‘);

/** 文件同步读取 */

// 没有声明encoding,所以返回的是buffer(二进制数据)
var bufferStr = fs.readFileSync(‘test.txt‘);
console.log(bufferStr);  // 输出 <Buffer 68 65 6c 6c 6f 0a>

// 声明了encoding,所以返回的是普通字符串
var str = fs.readFileSync(‘test.txt‘, {
    encoding: ‘utf-8‘
});
console.log(str);  // 输出 hello

// 文件读取异常处理:通过try、catch
try{
    var errStr = fs.readFileSync(‘noneExist.txt‘);
}catch(err){
    console.log(err.message);  // 输出 ENOENT, no such file or directory ‘noneExist.txt‘
}


/** 文件异步读取 */

// 无声明encoding
fs.readFile(‘test.txt‘, function(err, data){
    if(err){
        console.log(‘文件读取失败‘);
    }else{
        console.log(data);  // 输出 <Buffer 68 65 6c 6c 6f 0a>
    }
});

// 声明了encoding
fs.readFile(‘test.txt‘, {encoding: ‘utf-8‘}, function(err, data){
    if(err){
        console.log(‘文件读取失败‘);
    }else{
        console.log(data);  // 输出 hello
    }
});

// 异常处理
fs.readFile(‘noneExist.txt‘, {encoding: ‘utf-8‘}, function(err, data){
    if(err){
        console.log(‘文件读取失败‘);  // 输出 文件读取失败
    }else{
        console.log(data);
    }
});
bubuko.com,布布扣

node基础:文件系统-文件读取,布布扣,bubuko.com

node基础:文件系统-文件读取

原文:http://www.cnblogs.com/chyingp/p/node-guide-file-read.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!