发布于 2015-08-18 23:56:24 | 387 次阅读 | 评论: 0 | 来源: PHPERZ
file system模块
虽然与node.js中文件系统模块名称和调用方法( require("fs"))一样,但不得不说,phantom的文件系统模块总体是比较简单的,API不多但够用,API也不同于node.js的异步 回调风格,而是采用stream+同步的风格,浓浓的C++风味。在使用的时间请一定要注意与node.js的文件系统模块做区分。
- fs.open(path, mode/opts) File
open() 方法接受两个参数,第一个参数是要打开的文件路径,第二个参数后面还会见到,这里统一说明。如果是字符串,则代表文件打开的模式,可选的有 'r'、 'w'、 'a/+'、 'b'(read时仅支持 'b');如果是一个对象,则表示配置项,一共有两个配置项,分别是 mode和 charset, mode就是刚刚提到的打开模式, charset表示文件的编码类型。参阅下面的示例:
var fs = require("fs");
var file = fs.open("main.js", 'r');
console.log(file.read());
file.close();
file = fs.open("main.js", 'a');
file.write("123");
file.close();
setTimeout(function () {
phantom.exit(0)
}, 2000);
对打开的文件,我们可以进行读写操作(具体使用与打开模式有关)。如果对一个文件执行了open,请别忘了在文件使用完成后,再对其执行close。
- fs.read(path, mode/opts) String
fs.read()方法对文件读取做了封装,不必关心文件的打开关闭,返回值为文件内容。
- fs.write(path, content, mode/opts)
fs.write()方法对文件写入做了封装,不必关心文件的打开关闭。
- 其他API:
- fs.size(path) Number:获取文件大小
- fs.copy(source, destination):复制文件
- fs.copyTree(source, destination):复制目录树
- fs.move(source, destination):移动文件
- fs.moveTree(source, destination):移动目录树
- fs.remove(file):删除文件
- fs.removeTree(path):删除目录
- fs.join(partialPath[]) String:组合路径
- fs.split(path) String[]:切割路径
- fs.exist(path) Boolean:文件或目录是否存在
- fs.isFile(path) Boolean:指定路径是否是文件
- fs.isDirectory(path) Boolean:指定路径是否是目录
- fs.list(path) String[]:获取指定目录下的文件/目录名称列表