一、 fs模块的概念:
1. fs 模块:
文件系统模块,是用来操作文件的,如文件的读取、写入等。
2. fs 模块的使用步骤:
步骤 1:引入fs模块
步骤 2:调用fs模块中的方法进行文件的操作。
二、Buffer的概念:
名称 | Buffer | Array数组 |
---|---|---|
相同点 | Buffer 的结构和数组相似,操作方法也类似 | |
不同点 | Buffer中可以存储二进制数据(图片、视频等) 1. Buffer中存储的是二进制数据,但是是以16进制的形式显示。 2. Buffer中的每个元素的范围:00—ff 3. Buffer中一个元素在内存中占一个字节。 4. Buffer的大小一旦确定,则不能修改 5. Buffer中的数字在控制台或页面输出时,是10进制 |
1. 不能存储二进制文件 2. Array的大小后确定后,可以修改 |
Buffer中的常用方法:
var buf=Buffer.from(str); // 将字符串转化成BufferBuffer型的数组
var buf2=new Buffer(10); // 实例化一个Buffer型的数组
var buf3=Buffer.alloc(10) // 创建一个大小为10个字节的Buffer型的数组
三、fs模块中的方法:
1. 读取文件(一次性读取):异步读取和同步读取
读取路径下的文件,获取文件中的数据,进行一些操作。
// 1. 异步读取文件
let fs=require("fs");
let url="./page/stu.txt";
fs.readFile(url,(err,data)=>{
// url:读取文件的路径 data:读取的数据 err:读取失败时返回的信息
if(err){
throw err;
}
console.log(data); // 服务器端存储的数据格式都是buffer格式的
console.log(data.toString()); // 把buffer格式转化成字符串格式的数据
});
// 2. 同步读取文件
let data=fs.readFileSync(url); //返回值是读取的数据
2. 读取文件(一次性读取):
fs.read(fd, buffer, star, lenggth, position, function(err, bytes, buffer) {});
参数的含义:
fd:要读取的文件描述符
buffer:存储读取数据的对象
star:buffer中存储数据起始位置
length:读取的数据的字节数
position:文件中读取数据的起始位置。如果该项为null,起始位置就是当前文件指针的位置。
function:err-----异常信息,bytes------读取数据的字节数,buffer------存储数据的对象
// 打开文件
fs.open('./text.txt', 'r', function(err, fd) {