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...
  • zk437092645
  • zk437092645
  • 2013年07月03日 11:24
  • 55999

node.js 读取文件内容

//该例子是在windows系统下面跑的 var fs = require('fs'); //如果地址是下面定义的这种方式是无法找到的,他会默认去找Node.js安装路径下的文件,如果没有回报错 ...
  • hbiao68
  • hbiao68
  • 2016年09月07日 17:20
  • 49

Node.js 读取TXT文件内容 fs.readFile()

文件: read.js:
  • dongsoso
  • dongsoso
  • 2014年08月22日 10:50
  • 7313

node.js读取本地的文件

var fs = require('fs');//调用fs函数库 //参数1 文件的名字,参数2 编码格式 参数3 回调函数 fs.readFile('f.txt','utf-8',function(...
  • u012260672
  • u012260672
  • 2016年05月25日 14:31
  • 1310

node.js实现逐行读取文件内容的代码

在此之前先介绍一个逐行读取文件内容NPM:https://github.com/nickewing/line-reader,需要的朋友可以看看。 直接上代码: function r...
  • abdfrtye
  • abdfrtye
  • 2014年06月27日 13:16
  • 492

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

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

读取csv文件内容

原文:http://www.codeproject.com/Tips/806934/How-to-Return-the-Contents-of-a-CSV-file-as-a-Gene
  • Joyhen
  • Joyhen
  • 2014年08月13日 09:16
  • 1667

shell读取文件中的内容,并将其存入到变量中

读取文件中的内容,并将其存入到变量中 var=$(cat name.txt)
  • sidely
  • sidely
  • 2014年10月24日 14:27
  • 27027

C#写入文件,与读取文件内容

/// /// 写文件 /// /// 文件路径 /// 文件名(包括后缀名) /// 内容 /// public static bool...
  • lz00728
  • lz00728
  • 2011年10月21日 10:31
  • 18461

C语言fgets读取整个文本文件的内容

C语言fgets环读取整个文本文件的内容 #include #include #include #include //函数返回fname指定文件的全部内容,如果打不开文件,则返回NULL,并...
  • yueguanyun
  • yueguanyun
  • 2016年05月13日 09:49
  • 6493
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:node.js 读取文件内容
举报原因:
原因补充:

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