【Node.js】读取文件

微信订阅号:Rabbit_svip

在node.js里,读取文件分为 同步读取异步读取

  • 同步读取: fs.readFileSync()
  • 异步读取: fs.readFile()

可以看到,同步读取其实只是多了 Sync 一个单词,很好记。


准备

微信订阅号:Rabbit_svip

以上是文件目录结构,其中 readMe.md 是准备好的文件(用来读取的文件)。

fs.js 是代码文件。

微信订阅号:Rabbit_svip

以上是 readMe.md 的内容。



同步读取

let fs = require('fs');

let readMe = fs.readFileSync('readMe.md', 'utf8');
console.log(readMe);
微信订阅号:Rabbit_svip


let fs = require('fs'); 这句话是用来引入系统提供的文件模块。

fs.readFileSync() 有2个参数。

  • 第一个参数:要读取的文件名。
  • 第二个参数:编码格式。

把读取到的内容赋给一个变量。


以上就是 同步读取文件 的用法。



异步读取

let fs = require('fs');

fs.readFile('readMe.md', 'utf8', (err, data) => {
    if(err) throw err;
    console.log(data);
})

img(输出内容)


异步读取的方法和同步是差不多的。只是传参不一样。

fs.readFileSync() 有3个参数。

  • 第一个参数:要读取的文件名。
  • 第二个参数:编码格式。
  • 第三个参数:读取结果
    • err:出现的错误都会通过 err 这个参数返回(比如找不到文件等)。
    • data:读取文件成功后的返回结果。


以上就是 异步读取文件 的使用方法。


异步测试

let fs = require('fs');

fs.readFile('readMe.md', 'utf8', (err, data) => {
    if(err) throw err;
    console.log(data);
})

console.log(123);

在异步读取文件之后加了一句 输出123

如果是同步的话,代码是一行一行执行的,所以 “123” 肯定是最后输出。

但在异步中,读取是需要时间去处理的。所以在这段非常短的处理时间内,代码会继续做之后的事情。
所以这里会先输出“123”,再输 readMe.md 里的内容。

微信订阅号:Rabbit_svip


读取文件这个功能是一个比较重要的功能。
比如客户端发来一个访问,后端有时候需要返回一个html页面回去,这时通过读取文件就能实现这种功能。
当然,要返回html页面的话并不像上面例子中短短几句就能完事的。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容