上QQ阅读APP看书,第一时间看更新
3.13 读取文件内容
本节向读者介绍读取文件的应用,在该应用中将会用到判断文件是否存在并读文件的方法。文件系统fs模块提供了fs.readFile()和fs.readFileSync()两个方法来完成读文件的操作。至于判断文件是否存在,则有fs.exists()和fs.existsSync()两个方法来实现。
下面介绍一个通过fs.readFileSync()方法以同步方式读取文件内容的代码实例。
【代码3-16】(详见源代码目录ch03-node-fs-readfile-sync.js.js文件)
【代码分析】
• 本例程为了测试读取文件内容的功能,在代码文件目录下新建一个“txtReadfile”子目录,然后在该子目录下创建一个名称为“readFileSync.txt”的文本文件。
• 第17行调用fs.existsSync()方法(同步方式)判断目标文件是否存在。
• 第18行调用fs.readFileSync()方法(同步方式)执行读文件的操作,并将返回值保存在变量file_contents中。
• 第20行通过变量file_contents输出了文本文件的内容。
在控制台中运行该Node程序,具体的输出内容如图3.16所示。
图3.16 读取文件内容
另外,fs.readFile()方法与fs.readFileSync()方法是根据绝对路径或相对路径执行读文件操作的。而在有些情况下,设计人员需要根据文件描述符来执行读文件操作,此时就需要使用fs.read()方法与fs.readSync()方法,这两个方法是可以根据文件描述符执行读文件操作的。