node.js 读取文件内容

原创 2013年12月04日 10:29:46

 

//该例子是在windows系统下面跑的
var fs = require('fs');
//如果地址是下面定义的这种方式是无法找到的,他会默认去找Node.js安装路径下的文件,如果没有回报错
//var path="d:\hb.txt";
//如果将路径的分隔符改为"/"则可以找到
var path="d:/hb.txt";
var fileSize;
var file = fs.readFileSync(path, "utf8");
//打印文件的内容
console.log(file);

  

备注:上面的例子我是以文本字符测试的,没有测试二进制

 

 下面这个例子摘抄至  http://www.jiangkunlun.com/2011/11/node-js_read/

//File System
var fs = require('fs');
//fd is the file descriptor used by the WriteStream.
var logFd;
//日志文件
var log = "D:/hb.txt";
//读取过程需要的
var buf,
	logSize,
	start = 0,
	length,
	offse = 0,
	logArr = '',
	LENGHT = 1024 * 1024;//每次读取的长度,1M
 
//读取文件信息,获取文件长度
fs.stat(log, function(err, stats){
	if(err) throw err;
//	console.log(JSON.stringify(stats));
	logSize = stats.size;
	//打开文件
	fs.open(log, 'r', 0666, function(err, fd){
		if(err) throw err;
		logFd = fd;
		length = LENGHT < (logSize - offse) ? LENGHT : (logSize - offse);
		buf = new Buffer(length);
		//日志读取
		readLog();
	});
});
//日志读取
function readLog(){
	//读取
	fs.read(logFd, buf, start, length, offse, function(err){
		if(err) throw err;
		//按行切分
		logArr = buf.toString('utf8').split('\n');
		var last = false;
		//判断是否是最后一次调用
		if(offse + length < logSize){
			//最后一行不完整,抛掉,下次在取
			last = logArr.pop();
		}
		//调用日志分析模块,对logArr做处理
		logAnalysis();
		//处理参数,准备下次调用
		if(last !== false){
			offse += length - last.length;
			length = LENGHT < (logSize - offse) ? LENGHT : (logSize - offse);
			buf = new Buffer(length);
			//递归读取
			if(!lastRead){
				readLog();
			}
		}
	});
}
//日志分析模块
function logAnalysis(){
	//TODO:日志分析与读取......
	console.log(logArr.length);
	console.log(logArr[0]);
	console.log(logArr[logArr.length - 1]);
	console.log('------');
}

 

相关文章推荐

Node.js读取文件内容

Node.js读取文件内容包括同步和异步两种方式。 1、同步读取,调用的是readFileSync var rf=require("fs"); var data=rf.readFileSync("t...

【Node.js】'readline' 逐行读取、写入文件内容

运用readline逐行读取的两种实现效果图如下:左边1.log 为源文件右边1.readline.log为复制后的文件下边为命令行输出实现方式一:var readline = require('re...
  • sodino
  • sodino
  • 2016年04月28日 16:49
  • 12840

ajax_读取服务器文件内容.js

  • 2014年11月19日 16:22
  • 1017B
  • 下载

js读取xml文件并获取文件内容

  • 2017年03月21日 12:33
  • 1KB
  • 下载

分别用Java和JS读取Properties文件内容

项目中经常用到的配置文件,除了XML文件之外,还会用到Properties文件来存储一些信息,例如国际化的设置、jdbc连接信息的配置等。有时候也会把一些路径或者sql语句放到Properties中,...

纯js读取excel文件内容,支持所有刘浏览器

js如何将读取excel文件内容 前言       马上毕业了,正在做毕业设计,老师提出一个问题如何能够批量录入成绩,百度了一大堆关于js读取excel内容的,但是都说只有IE支持,这怎么...

JS文件内容

  • 2016年06月13日 16:17
  • 121B
  • 下载

js文件内容分页的例子

  • 2011年03月07日 13:07
  • 6KB
  • 下载

node.js实现文件读取\写入\复制内容——李帅醒博客

Node.js读取文件内容包括同步和异步两种方式。 执行所有文件操作前一定要加载文件模块。 //加载文件模块 var fs=require("fs"); 1.异步读取文件: readFile(pa...
  • wcslb
  • wcslb
  • 2016年11月30日 20:28
  • 4961

JS 调用XML文件内容

  • 2011年01月07日 14:46
  • 1KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:node.js 读取文件内容
举报原因:
原因补充:

(最多只允许输入30个字)