nj10---文件读取
介绍:fs模块是文件操作的封装,它提供了文件的读取,写入,更名,删除,遍历目录,链接POSIX文件系统操作。与其他模块不同的是,fs模块中所有的操作都提供了异步和同步两个版本,例如读取文件内容函数异步方法:readFile(),同步方法readFileSync()。
一、fs.readFile(filename,[encoding],[callback(err,data)])是最简单的读取文件的函数。
参数:filename:读取的文件名。
encoding 文件的字符编码 ANSI
callback 回调函数提供两个参数err和data,err表示有没有错误发生,data是文件内容。如果指定了encoding,data是一个解析后的字符串,否则将会以buffer形式表示的二进制数据。
案例:readFile.js
二、fs.readFileSync(filename,[encoding])
同步读取文件它棘手的参数和fs。readFile相同,而读取到的文件内容会以函数返回值的形式返回,如果有错误发生,fs将抛出异常,你需要try和catch捕获并处理异常
三、fs.open(path,flags,[mode],[callback(err,fd)])是POSIXopen函数的封装,与C语言标准库中的fopen函数类似,它接受两个必选参数,
path为文件路径,
flags可以为以下值:
r:以读取模式打开文件
r+:以读写模式打开文件
w:以写入模式打开文件,如果文件不存在则创建
w+:以读写模式打开文件,如果文件不存在则创建
a:以追加模式打开文件,如果文件不存在则创建。
a+:以读取追加模式打开文件,如果不存在则创建。
mode:用于创建文件时给文件指定权限,默认是0666,回调函数将会传递一个文件描述符fd
0666:文件权限值POSIX系统中对文件读取和访问权限的规范,通常用八进制数表示,如:0754标识文件所有者权限是7(读,写,执行),同组用户权限是5(读,执行)其他用户的权限是4(读)。
fd:文件描述是一个非负整数,表示操作系统内核为当前进程所维护的打开文件的记录表索引。
四、fs.read(fd,buffer,offset,length,position,[callback(err,bytesRead,buffer)])是POSIX中read函数的封装,相比readFile提供了更底层的接口。从指定的文件描述fd中读取数据并写入
fd:指定的文件描述
offset是buffer的写入偏量值
buffer指向的缓存区对象。
length:读取的字节数
position:文件读取的起始数,如果为null,则从当前文件指针读取。
回调函数传递err,bytesRead和buffer,分别标识读取的字节数和缓冲区对象。
API地址:http://nodejs.org/api/fs.html
//引入fs模块
var fs=require('fs');
//调用读取文件方法
fs.readFile('content.txt',function(err,data){
if(err){
console.log(err);
}else{
console.log(data);//<Buffer ef bb bf e6 e4 bb b6 e3 80 82>
}
});
fs.readFile('content.txt','UTF-8',function(err,data){
if(err){
console.log(err);
}else{
console.log(data);//我是一个文本文件。
}
}); try{
var data=fs.readFileSync('content.txt','UTF-8');
console.log(data+"dddd");//我是一个文本文件。dddd }catch(e){
console.log(e)
}
var fs=require('fs');
fs.open('content.txt','r',function(err,fd){
if(err){
console.log(err);
return;
}
var buf=new Buffer(8);
fs.read(fd,buf,0,8,null,function(err,bytesRead,buffer){
if(err){
console.log(err);
return;
}
console.log('bytesRead '+bytesRead);
console.log(buffer);
});
})
nj10---文件读取的更多相关文章
- java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...
- php xml 文件读取 XMLReader
php xml 文件读取 <?php /** $xmlString = '<xml> <persons count="10"> <person ...
- 1-2 nodejs小节 文件读取
1.表达式 在命令行输入 node回车后,可以在后边输入相应的表达式,进行运算操作 2.阻塞文件读取 var data=fs.readFileSync('input.txt', 'utf-8') ...
- 详解Js中文件读取机制
前言,文件读取是提高应用体验度的必须接口,应用场景中需求很频繁. Js处理文件读取,由于处于安全方面的考虑,在2000年以前,都是以“<input type="file"&g ...
- C# 文件操作 把文件读取到字节数组
string zipfile = "c:\\a.zip"; //方法1 FileStream fs = new FileStream(zipfile, FileMode.Open) ...
- H5学习系列之文件读取API--本文转自http://blog.csdn.net/jackfrued/article/details/8967667
HTML5定义了FileReader作为文件API的重要成员用于读取文件,根据W3C的定义,FileReader接口提供了读取文件的方法和包含读取结果的事件模型. FileReader的使用方式非常简 ...
- 应用服务器Glassfish任意文件读取漏洞
catalogue . 前言和技术背景 . Glassfish安装配置 . 漏洞利用 . 漏洞缓解(修复) 1. 前言和技术背景 0x1: GlassFish是什么 GlassFish 是用于构建 J ...
- golang 文件读取
Golang 的文件读取方法很多,刚上手时不知道怎么选择,所以贴在此处便后速查. 一次性读取 小文件推荐一次性读取,这样程序更简单,而且速度最快. 复制代码 代码如下: func ReadAll(fi ...
- Python编码/文件读取/多线程
Python编码/文件读取/多线程 个人笔记~~记录才有成长 编码/文件读取/多线程 编码 常用的一般是gbk.utf-8,而在python中字符串一般是用Unicode来操作,这样才能按照单个字 ...
- [Python] 中文编码问题:raw_input输入、文件读取、变量比较等str、unicode、utf-8转换问题
最近研究搜索引擎.知识图谱和Python爬虫比较多,中文乱码问题再次浮现于眼前.虽然市面上讲述中文编码问题的文章数不胜数,同时以前我也讲述过PHP处理数据库服务器中文乱码问题,但是此处还是准备简单做下 ...
随机推荐
- RabbitMQ学习总结(6)——消息的路由分发机制详解
一.Routing(路由) (using the Java client) 在前面的学习中,构建了一个简单的日志记录系统,能够广播所有的日志给多个接收者,在该部分学习中,将添加一个新的特点,就是可以只 ...
- mysql 全表扫描、全索引扫描、索引覆盖(覆盖索引)
full index scan:全索引扫描,查询时,遍历索引树来获取数据行.如果数据不是密集的会产生随机IO 在执行计划中是Type列,index full table scan:通过读物理表获取数据 ...
- ASP.NET-服务器客户端的信息保持
ASP.NET客户端和服务器端的信息保持方案 来自为知笔记(Wiz)
- HDU——T 1498 50 years, 50 colors
http://acm.hdu.edu.cn/showproblem.php?pid=1498 Time Limit: 2000/1000 MS (Java/Others) Memory Limi ...
- 洛谷 P2652 同花顺
P2652 同花顺 题目背景 所谓同花顺,就是指一些扑克牌,它们花色相同,并且数字连续. 题目描述 现在我手里有n张扑克牌,但它们可能并不能凑成同花顺.我现在想知道,最少更换其中的多少张牌,我能让这 ...
- Qt之二维码扫描
简述 二维码(QR Code)是用某种特定的几何图形按一定规律在平面(二维方向)分布的黑白相间的图形记录数据符号信息的.是所有信息数据的一把钥匙.应用十分广泛,如:产品防伪/溯源.广告推送.网站链接. ...
- BTrace介绍和生产环境样例
BTrace latest realese: release-1.2.5.1 BTrace guide(1.2-20101020): http://kenai.com/projects/btrace/ ...
- hdoj 1013Digital Roots
/*Digital Roots Problem Description The digital root of a positive integer is found by summing th ...
- bzoj2150: 部落战争(匈牙利)
2150: 部落战争 题目:传送门 题解: 辣鸡数据..毁我AC率 先说做法,很容易就可以看出是二分图匹配的最小路径覆盖(可能是之前不久刚做过类似的题) 一开始还傻逼逼的去直接连边然后准备跑floyd ...
- HBA卡
HBA,即主机总线适配器英文“Host Bus Adapter”缩写.是一个在服务器和存储装置间提供输入/输出(I/O)处理和物理连接的电路板和/或集成电路适配器. HBA减轻了主处理器在数据存储和检 ...