fs.md

2018-11-22 18:00 更新

ngui/fs

这里提供的是nodejs文件的扩展函数

DEFAULT_MODE

创建与设置文件的默认mode值,这与文件的权限相关,这是一个int整数类型值

Enum: FileType

文件的类型,枚举类型都为int整数

FILE_UNKNOWN

FILE_FILE

FILE_DIR

FILE_LINK

FILE_FIFO

FILE_SOCKET

FILE_CHAR

FILE_BLOCK

Object: Dirent

读取目录时返回的结构类型, 这是个Object类型描述并没有实际存在的构造函数

Dirent.name

Dirent.pathname

Dirent.type

  • {FileType} 文件类型枚举值 FileType

abort(id)

通过id强制中止运行中的异步任务

如果传入无意义的idid所属的任务已经完成,不做任何处理

Example:

var id0 = fs.chmodR(mypath, 755);
var id1 = fs.chownR(mypath, 501, 501);
var id2 = fs.cp(mypath, newpath);
// force abort task
fs.abort(id0);
fs.abort(id1);
fs.abort(id2);

chmodR(path[,mode[,cb]])

chmodR(path[,cb])

递归设置文件或目录mode属性,并返回中止id,可通过这个id强制中止任务

Callback: cb()

Example:

// `mypath`为文件路径,可以为文件也可以为目录
fs.chmodR(mypath, 0755, function(err){
    if (err)
        console.log('Fail');
    else
        console.log('Success');
});
var id = fs.chmodR(mydir, 0775);
fs.abort(id);

chmodSyncR(path[,mode])

同步设置文件的mode属性,设置成功返回true

递归chmodSyncR()

Example:

// Prints: true
console.log(fs.chmodSyncR(mypath, 0755));

chownR(path, owner, group[,cb])

异步递归设置文件或目录ownergroup属性。并返回中止id,可通过这个id强制中止任务

Callback:cb()

Example:

var id = chownR(mypath, 501, 501, (err)=>{ });
fs.abort(id); // force abort task 

chownSyncR(path, owner, group)

同步设置文件owner与group属性。成功返回true

递归chownSyncR()

  • @arg path {String}
  • @arg owner {uint} 操作系统用户id
  • @arg group {uint} 操作系统组id
  • @ret {bool}

mkdirP(path[,mode[,cb]])

mkdirP(path[,cb])

创建目录,这个方法会依次创建目录树,目录存在也不会抛出异常

Callback:cb()

Example:

fs.mkdirP(mypath, function(err){ 
    if (err) {
        /*Success*/ 
    } else {
        /*Fail*/ 
    }
});

mkdirSyncP(path[,mode])

removeR(path[,cb])

递归删除文件与目录,并返回一个中止id,如果不成功会抛出异常

使用这个id可以强制中止任务 abort(id)

Callback: cb()

Example:

var id = fs.removeR(mypath, function(err) { 
    if (err) {
        /*Success*/ 
    } else {
        /*Fail*/ 
    }
});
// 通过id可中止删除任务
fs.abort(id);

removeSyncR(path)

同步递归删除目录或文件,在javascript中谨慎使用这个方法,有可能会造成线程长时间被柱塞

  • @arg path {String}
  • @ret {bool} Success return true

copy(path,target[,cb])

copyR(path, target[,cb])

拷贝文件,并返回一个中止id,如果不成功会抛出异常

使用这个id可以强制中止拷贝任务 abort(id)

递归拷贝文件与目录copyR() 这个方法与copy()区别在于,copy()只能拷贝单个文件

Callback: cb()

Example:

var id = fs.copy(source, target, function(err) { 
    if (err) {
        /*Success*/ 
    } else {
        /*Fail*/ 
    }
});
// 通过id可中止任务
fs.abort(id);

copySync(path, target)

copySyncR(path, target)

同步拷贝文件,在javascript中谨慎使用这个方法,有可能会造成线程长时间被柱塞

递归拷贝文件与目录copySyncR()

readdir(path[,cb])

读取目录列表信息,失败抛出异常,成功返回DirentArray

Callback: cb(dirents)

Example:

// Prints:
// {
//   name: "cp.txt",
//   pathname: "file:///var/mobile/Containers/Data/Application/64DAC3FC-A4FD-4274-A2E7-B834EE4930B4/Documents/test/cp.txt",
//   type: 1
// }
fs.readdir(mydir, function(err, dirents) {
    if (err) {
        /*Fail*/
    } else {
        for (var dirent of dirents) {
            // TODO...
            console.log(dirent);
        }
    }
    console.log(dirent);
});

readdirSync(path)

isFile(path[,cb])

测试是否为一个文件,成功返回bool类型值

Callback: cb(ok) (ok:bool)

isFileSync(path)

isDirectory(path[,cb])

测试是否为一个目录,成功返回bool类型值

Callback: cb(ok) (ok:bool)

isDirectorySync(path)

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号