fs.md

2018-11-22 18:00 更新

ngui/fs

這里提供的是nodejs文件的擴展函數(shù)

DEFAULT_MODE

創(chuàng)建與設(shè)置文件的默認mode值,這與文件的權(quán)限相關(guān),這是一個int整數(shù)類型值

Enum: FileType

文件的類型,枚舉類型都為int整數(shù)

FILE_UNKNOWN

FILE_FILE

FILE_DIR

FILE_LINK

FILE_FIFO

FILE_SOCKET

FILE_CHAR

FILE_BLOCK

Object: Dirent

讀取目錄時返回的結(jié)構(gòu)類型, 這是個Object類型描述并沒有實際存在的構(gòu)造函數(shù)

Dirent.name

Dirent.pathname

Dirent.type

  • {FileType} 文件類型枚舉值 FileType

abort(id)

通過id強制中止運行中的異步任務

如果傳入無意義的idid所屬的任務已經(jīng)完成,不做任何處理

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])

遞歸設(shè)置文件或目錄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])

同步設(shè)置文件的mode屬性,設(shè)置成功返回true

遞歸chmodSyncR()

Example:

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

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

異步遞歸設(shè)置文件或目錄ownergroup屬性。并返回中止id,可通過這個id強制中止任務

Callback:cb()

Example:

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

chownSyncR(path, owner, group)

同步設(shè)置文件owner與group屬性。成功返回true

遞歸chownSyncR()

  • @arg path {String}
  • @arg owner {uint} 操作系統(tǒng)用戶id
  • @arg group {uint} 操作系統(tǒng)組id
  • @ret {bool}

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

mkdirP(path[,cb])

創(chuàng)建目錄,這個方法會依次創(chuàng)建目錄樹,目錄存在也不會拋出異常

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()區(qū)別在于,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)

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號