5. 其他文件系统任务
5.1 验证路径的存在性
fs.existsSync(path) 返回true或false,这取决于路径是否存在。fs.exists()需要实现一个调用完成时将要执行的回调函数。根据路径是否存在,此回调函数将被传入true或false。
5.2 获取文件信息
fs.statsSync()方法返回一个Stats对象。执行fs.stats()方法,而Stats对象作为第二个参数传递到回掉函数。第一个参数是error,如果发生错误的话。
isFile()
如果该条目是一个文件,则返回true
isDirectory()
如果该条目是一个目录,则返回true
isSocket()
如果该条目是一个套接字,则返回true
dev
指定文件所在设备的ID
mode
指定文件的访问模式
size
指定文件的字节数
blksize
指定用于存储该文件的块大小,以字节为单位
blocks
指定文件在磁盘上占用的块的数目
atime
指定上次访问文件的时间
mtime
指定文件的最后修改时间
ctime
指定文件的创建时间
5.3 列出文件
5.4 删除文件
5.5 截断文件
截断(Truncate)文件是指通过把文件结束处设置为比当前小的值来减小文件的大小。
下面代码段说明了把名为log.txt的文件截断成零字节的过程:
5.6 建立和删除目录
使用异步方法的时候,需要等待创建目录的回调函数完成后,才能创建该目录的子目录。
使用异步方法的时候,在删除父目录之前,需要等待删除该目录的回调函数完成。
5.7 重命名文件和目录
5.8 监视文件更改入
虽然它并不完全稳定,但fs模块提供了监视文件,并在文件发生变化时执行回调函数的有用工具。监视确实在底层操作系统中产生一些开销,所以应该适可而止使用它们。
你也可以传入options,这是一个对象,它包含persistent(持续)和interval属性。如果你想只要文件被监视,就继续运行这个程序,则把persistent属性设为true。interval属性指定你所需文件更改的轮询时间,以毫秒为单位。
当文件发生变化时,callback函数就会被执行,并传递当前和以前的stats对象。