
上QQ阅读APP看书,第一时间看更新
3.10 相对路径转绝对路径
相对路径和绝对路径是操作系统中文件必须要面对的两个概念,相对路径可以理解为相对于当前应用程序的路径,而绝对路径则是指从根目录开始的完整路径。在系统编程中,相对路径和绝对路径之间的转换是经常要用到的基本操作。Node.js文件系统fs模块提供了fs.realpath()和fs.realpathSync()两个方法来完成相对路径转绝对路径的操作。
下面介绍一个通过fs.realpathSync()方法以同步方式将相对路径转为绝对路径的代码实例。
【代码3-12】(详见源代码目录ch03-node-fs-realpath-sync.js.js文件)

【代码分析】
• 本例程为了测试相对路径转绝对路径的操作,在代码文件目录下新建一个“txtRealpath”子目录,然后在该子目录下创建一个名称为“realpathSync.txt”的文本文件。
• 第07行代码通过fs.realpathSync()方法获取了当前目录的绝对路径,注意相对路径参数("./")的使用。
• 第10行代码定义了fs.realpathSync()方法的cache参数(本例为{'E:/':'E:/WebstormProjects'})。
• 第11行代码定义了fs.realpathSync()方法的相对路径('txtRealpath/realpathSync.txt')。
• 第12行调用fs.realpathSync()方法以同步方式执行将相对路径转为绝对路径的操作,参数见第10行和第11行代码的定义。
在控制台中运行该Node程序,具体的输出内容如图3.12所示。

图3.12 相对路径转绝对路径