readFile()函数判断文件是否读取完成

随心笔谈2年前发布 编辑
168 0
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买

函数说明

从文件指针指向的位置开始将数据读出到一个文件中, 且支持同步和异步操作,

如果文件打开方式没有指明FILE_FLAG_OVERLAPPED的话,当程序调用成功时,它将实际读出文件的字节数保存到lpNumberOfBytesRead指明的地址空间中

如果文件要交互使用的话,当函数调用完毕时要记得调整文件指针

函数原型 BOOL ReadFile(

1
2
3
4
5
6
HANDLE hFile, //文件的句柄
LPVOID lpBuffer, //用于保存读入数据的一个缓冲区
DWORD nNumberOfBytesToRead, //要读入的字符数
LPDWORD lpNumberOfBytesRead, //指向实际读取字节数的指针
LPOVERLAPPED lpOverlapped //如文件打开时指定了FILE_FLAG_OVERLAPPED,那么必须,用这个参数引用一个特殊的结构。该结构定义了一次异步读取操作。否则,应将这个参数设为NULL
);

参数说明

HANDLE hFile, 需要写入数据的文件指针,这个指针指向的文件必须是GENERIC_READaccess 访问属性的文件

LPOVERLAPPED lpOverlapped OVERLAPPED结构体指针,如果文件是以FILE_FLAG_OVERLAPPED方式打开的话,那么这个指针就不能为NULL

返回值

调用成功,返回非0

调用不成功,返回为0

应用示例

1
2
3
4
5
6
7
8
9
10
// 导入fs模块
const fs = require('fs')
// 调用readFile方法
fs.readFile('1.txt''utf8'function (err, dataStr) {
    // 判断err的值是否可以转为true
    if (err) {
        return console.log('文件读取失败!', err.message);
    }
    console.log('文件读取成功!''\n内容:' + dataStr);
})
© 版权声明

相关文章