nodejs 读取本地文件
来源:互联网 发布:excel数据库开发 编辑:程序博客网 时间:2024/05/21 07:04
这篇文章主要介绍nodejs中fs模块的使用,以方便遍历目录,操作文件。
首先是引入fs模块:
var fs = require('fs')
接下来引进path模块,方便存储文件路径:
const path = require('path')
现在便可以指定文件路径,操作文件了,例如现在我们想读取日志文件,不同的日志文件都在/home/ubuntu/test目录下,且都以.INFO作为后缀名,若想读取文件,先记录日志位置:
var logpath = path.join('/home/ubuntu/test')
readlogdir(path.join(logpath))
这两句话的目的就是将要搜索的文件目录记录在logpath变量下,之后执行一个函数,该函数要读取目录下信息,参数自然就是刚刚记录的路径变量,所以接下的工作是编写readlogdir函数体,读取目录下信息:
function readlogdir(path){
fs.readdir(path,function(err,menu){
if(!menu)
return;
menu.forEach(function(ele){
fs.stat( path+"/"+ele , function(err,info){
if(info.isDirectory()){
//todo:
}else{
//is file
if((ele.substring(ele.lastIndexOf('.')+1)) == "INFO"){
fs.open(path+"/"+ele,'r',function(err,fd){
if(err){
return console.error(err)}
fs.read(fd,clusterBuffer,0,clusterBuffer.length,0,function(err,bytes){
if(err){
console.log(err) }
console.log(clusterBuffer.slice(0,bytes).toString())
if(bytes > 0){
//todo..
}
})//fs.read
})//fs.open
}//if
}
})//fs.stat
})//menu.forEach
})//fs.readdir
}
逐行解释一下上述代码:第二行readdir函数读取目录下信息,menu作为对象返回信息,这些信息包含了目录下的一切,比如子目录、文件等。第5行则遍历menu,目录下的每个对象(文件、子目录等)都是一个ele,第6行则获取ele的状态,接下来我们根据ele的状态是目录还是文件进行判断,如果是文件,对应代码第9行,我们判断文件的后缀是否是INFO,如果是通过fs.read函数读取文件,将文件信息读取到clusterBuffer中,在这里我的clusterBuffer是我自己开辟的一个数组,即var clusterBuffer = new Array().最后,文件的信息已经记录到了clusterBuffer里,我们便可以操作这个对象或者操作字符串来截取文件中我们想要的信息了。
- nodejs 读取本地文件
- 读取本地文件
- 读取本地文件
- 读取本地文件
- 读取json 读取本地文件
- nodejs jquery下载本地文件 webstorm
- MSSQL 读取本地文件数据
- JAVASCRIPT 读取本地文件
- js读取本地文件
- js读取本地文件
- Flex 实现读取本地文件
- flex实现读取本地文件
- AIR读取本地文件
- MSSQL 读取本地文件数据
- Flash:flash 读取本地文件
- 读取本地文件加到树中
- IOS --- 读取本地文件
- NSSearchPathForDirectoriesInDomains(读取本地文件)用法
- IDEA配置NODEJs工程
- python 用csv包写数据进CSV空行问题
- js中的函数式编程
- mysql优化(三)或许你不知道的10条SQL技巧
- hibernate实体类操作(一)添加与根据Id查询
- nodejs 读取本地文件
- C# 获取当前时间戳,将时间戳转换为当前本地时间
- 易读的弹框组件
- C++ 静态成员
- combobox不可编辑状态
- jquery.modal.js弹出框插件
- Android.UI.插件.《他站自转自用只有链接系列》
- 02-指令-ng-init
- Cmake 设置交叉编译环境