
上QQ阅读APP看书,第一时间看更新
3.7 修改文件长度
文件系统模块提供了fs.truncate()与fs.truncateSync()两个方法来完成修改文件长度的操作。fs.truncate()与fs.truncateSync()两个方法在使用上与3.6节中的fs.ftruncate()与fs.ftruncateSync()两个方法类似,区别是这两个方法可以直接使用文件路径进行操作。
下面介绍一个通过fs.truncateSync()方法以同步方式实现修改文件长度的代码实例。
【代码3-9】(详见源代码目录ch03-node-fs-truncate-sync.js.js文件)

【代码分析】
• 本例程为了测试修改文件长度的操作,在代码文件目录下新建一个“txtTruncate”子目录,然后在该子目录下创建一个名称为“truncateSync.txt”的文本文件。
• 第22行代码在修改文件长度之前,先输出了“truncateSync.txt”文本文件内容的长度。
• 第24行代码调用fs.truncateSync()方法以同步方式修改了“truncateSync.txt”文本文件的长度。
• 第29行代码在修改文件长度之后,再次输出了“truncateSync.txt”文本文件内容的长度,以便验证fs.truncateSync()方法是否操作成功。
在控制台中运行该Node程序,具体的输出内容如图3.9所示。

图3.9 修改文件长度
如图3.9所示,文本文件“truncateSync.txt”的长度被修改后,由数值23变成了数值6,表明fs.truncateSync()方法的操作成功了。