iofs
v1.5.3
Published
iofs是一个基于原生fs模块封装的工具, 旨在提供更加方便实用一些常用的API方法(同步), API习惯参考了bash shell。
Downloads
73
Readme
iofs
iofs
是一个基于原生fs
模块封装的工具, 旨在提供更加方便实用一些常用的API方法(同步), API习惯参考了bash shell
, 习惯用命令行的朋友, 可能会比较亲切。
API
- props
- methods
属性
origin
返回原生的
fs
模块对象, 方便调用一些未封装的额外功能
APIs
所有API均支持在最后传入一个
debug<Boolean>
参数(v1.3.2新增), 用于打印错误日志
.cat(file)
读取文件, 返回一个
Buffer对象
| 参数 | 类型 | 是否必须 | 说明 |
| :--: | :--: | :--: | -- |
| file | <String>
| 是 | 要读取的文件路径 |
.ls(path, recursive)
列出指定目录下的所有文件&目录, 不包括 '.' and '..'. 结果返回一个数组.
| 参数 | 类型 | 是否必须 | 说明 |
| :--: | :--: | :--: | -- |
| path | <String>
| 是 | 要读取的目录 |
| recursive | <String>
| 否 | 是否递归读取 |
.echo(data, file, append, encode)
写数据到指定文件中. 如果指定文件不存在, 则自动生成.
| 参数 | 类型 | 是否必须 | 说明 |
| :--: | :--: | :--: | -- |
| data | <String>
<Buffer>
<Number>
| 是 | 要写入的数据, 可以字符串、Buffer对象, 数字 |
| file | <String>
| 是 | 要写入的文件名, 不存在会自动创建, 如存在会覆盖 |
| append | <Boolean>
| 否 | 是否在文件后追加数据, 默认否, 即会整个文件替换 |
| encode | <String>
| 否 | 指定保存的编码, 默认utf8 |
var fs = require('iofs')
fs.echo('hello ', 'test.txt') // 如果test.txt存在, 则覆盖.
fs.echo('world', 'test.txt', true) // 不会覆盖, 只会追加到 test.txt中
.chmod(path, mode)
修改文件&目录的权限.
| 参数 | 类型 | 是否必须 | 说明 |
| :--: | :--: | :--: | -- |
| path | <String>
| 是 | 要修改的文件&目录路径 |
| mode | <Number>
| 是 | 权限码 0o000 - 0o777
|
fs.chmod('test.txt', 0o777)
.chown(path, uid, gid)
修改文件&目录的归属。
v1.3.0 新增
| 参数 | 类型 | 是否必须 | 说明 |
| :--: | :--: | :--: | -- |
| path | <String>
| 是 | 要修改的文件&目录路径 |
| uid | <Number>
| 是 | 用户ID |
| gid | <Number>
| 是 | 用户组ID |
.mv(origin, target)
移动文件&目录, 支持跨磁盘移动; 同时具备重命名功能。
v1.3.0 之后支持对目录进行操作
| 参数 | 类型 | 是否必须 | 说明 |
| :--: | :--: | :--: | -- |
| origin | <String>
| 是 | 要移动或重命名的文件&目录 |
| target | <String>
| 是 | 目标文件名&目录名 |
.cp(origin, target)
复制文件&目录, 支持跨磁盘复制。
v1.3.0 之后支持对目录进行操作
| 参数 | 类型 | 是否必须 | 说明 |
| :--: | :--: | :--: | -- |
| origin | <String>
| 是 | 要复制的文件&目录 |
| target | <String>
| 是 | 目标文件名&目录名 |
.rm(origin)
删除文件&目录
v1.3.0 之后取消第2个参数, 改为自动判断是否目录, 是否自动递归删除
| 参数 | 类型 | 是否必须 | 说明 |
| :--: | :--: | :--: | -- |
| origin | <String>
| 是 | 要删除的文件&目录 |
fs.rm('./foo/test.txt')
fs.rm('./foo') // 整个目录删除
.stat(path)
返回文件&目录的状态信息, 如修改时间, 文件大小等
| 参数 | 类型 | 是否必须 | 说明 |
| :--: | :--: | :--: | -- |
| path | <String>
| 是 | 要读取的目录&文件 |
.isdir(path)
判断指定目录是否为一个目录, 路径不存在或者不是目录都会返回 false.
| 参数 | 类型 | 是否必须 | 说明 |
| :--: | :--: | :--: | -- |
| path | <String>
| 是 | 要读取的目录路径 |
.isfile(path)
判断指定目录是否为一个文件, 路径不存在或者不是文件都会返回 false
| 参数 | 类型 | 是否必须 | 说明 |
| :--: | :--: | :--: | -- |
| path | <String>
| 是 | 要读取的文件 |
.mkdir(dir)
创建目录, 会自动创建上级目录(如不存在)
| 参数 | 类型 | 是否必须 | 说明 |
| :--: | :--: | :--: | -- |
| dir | <String>
| 是 | 要创建的目录名 |
.exists(path)
判断文件&目录是否存在
| 参数 | 类型 | 是否必须 | 说明 |
| :--: | :--: | :--: | -- |
| path | <String>
| 是 | 要读取的目录&文件 |
.is(path, mode)
判断文件&目录是否存在
| 参数 | 类型 | 是否必须 | 说明 |
| :--: | :--: | :--: | -- |
| path | <String>
| 是 | 要读取的目录&文件 |
| mode | <Number>
| 否 | 如 r: 4, w: 2, rw: 6 |