nodejs模块——fs模块 使用fs.read读文件
2024-09-07 09:16:32
使用fs.read读文件
fs.read()
先介绍fs.open。
fs.open(path,flags,[mode],callback)方法用于打开文件,以便fs.read()读取。
参数说明:
- path 文件路径
- flags打开文件的方式
- [mode] 是文件的权限(可行参数,默认值是0666)
- callback 回调函数
flags值及说明如下
r :读取文件,文件不存在时报错;
r+ :读取并写入文件,文件不存在时报错;
rs :以同步方式读取文件,文件不存在时报错;
rs+ :以同步方式读取并写入文件,文件不存在时报错;
w :写入文件,文件不存在则创建,存在则清空;
wx :和w一样,但是文件存在时会报错;
w+ :读取并写入文件,文件不存在则创建,存在则清空;
wx+ :和w+一样,但是文件存在时会报错;
a :以追加方式写入文件,文件不存在则创建;
ax :和a一样,但是文件存在时会报错;
a+ :读取并追加写入文件,文件不存在则创建;
ax+ :和a+一样,但是文件存在时会报错。
fs.close(fd,[callback])
用于关闭文件,fd是所打开文件的文件描述符。
fs.read(fd,buffer,offset,length,position,callback)接收6个参数。
参数说明:
- fd 文件描述符,必须接收fs.open()方法中的回调函数返回的第二个参数。
- buffer 是存放读取到的数据的Buffer对象。
- offset 指定 向buffer中存放数据的起始位置。
- length 指定 读取文件中数据的字节数。
- position 指定 在文件中读取文件内容的起始位置。
- callback 回调函数,参数如下
- err 用于抛出异常
- bytesRead 从文件中读取内容的实际字节数。
- buffer 被读取的缓存区对象。
例子:
var fs = require('fs'); // 引入fs模块 // 打开文件
fs.open('./text.txt', 'r', function(err, fd) {
if (err) {
throw err;
}
console.log('open file success.');
var buffer = new Buffer(255);
// 读取文件
fs.read(fd, buffer, 0, 10, 0, function(err, bytesRead, buffer) {
if (err) {
throw err;
}
// 打印出buffer中存入的数据
console.log(bytesRead, buffer.slice(0, bytesRead).toString()); // 关闭文件
fs.close(fd);
});
});
运行结果
最新文章
- 转:深入浅出UML类图(具体到代码层次)
- LeetCode——Single Number(找出数组中只出现一次的数)
- BZOJ3414 : Poi2013 Inspector
- CaronteFX插件简介
- 查询Sqlserver数据库死锁的一个存储过程(转)
- bzoj 1007 : [HNOI2008]水平可见直线 计算几何
- iOS开发 日常错误积累
- C#的内存管理原理解析+标准Dispose模式的实现
- 问题:强制关闭Redis快照导致不能持久化
- Mybatis框架基础支持层——日志模块(8)
- sql查询表中重复数据个数
- 阅读:ECMAScript 6 入门(3)
- ACM找bug方案
- 解决eclipse部署项目各种乱码问题,推荐一下别人的做法
- Installing PHP5 on Ubuntu Server
- 设置span在div中垂直居中
- 适合Eclipse Juno的UML插件
- 使用 v-cloak 防止页面加载时出现 vue.js 的变量名
- 小数第n位:高精度
- Word中怎么用MathType编辑公式
热门文章
- go语言从例子开始之Example10.map(字典)
- 转帖 Java生成和操作Excel文件
- HTML+CSS+JS是什么
- SSD算法的实现
- BZOJ5205 [CodePlus 2018 3 月赛]白金元首与莫斯科
- Qt Unknown module(s) in QT: webengine
- mysql inner join用法
- Cisco基础(四):配置标准ACL、配置扩展ACL、配置标准命名ACL、配置扩展命名ACL
- 微信小程序学习笔记(二)--框架-全局及页面配置
- HTML CSS + DIV实现排版布局