fs.md

2018-11-22 18:00 更新

ngui/fs

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

DEFAULT_MODE

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

Enum: FileType

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

FILE_UNKNOWN

FILE_FILE

FILE_DIR

FILE_LINK

FILE_FIFO

FILE_SOCKET

FILE_CHAR

FILE_BLOCK

Object: Dirent

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

Dirent.name

  • {String} 文件名稱(chēng)

Dirent.pathname

Dirent.type

  • {FileType} 文件類(lèi)型枚舉值 FileType

abort(id)

通過(guò)id強(qiáng)制中止運(yùn)行中的異步任務(wù)

如果傳入無(wú)意義的idid所屬的任務(wù)已經(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,可通過(guò)這個(gè)id強(qiáng)制中止任務(wù)

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,可通過(guò)這個(gè)id強(qiáng)制中止任務(wù)

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)建目錄,這個(gè)方法會(huì)依次創(chuàng)建目錄樹(shù),目錄存在也不會(huì)拋出異常

Callback:cb()

Example:

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

mkdirSyncP(path[,mode])

removeR(path[,cb])

遞歸刪除文件與目錄,并返回一個(gè)中止id,如果不成功會(huì)拋出異常

使用這個(gè)id可以強(qiáng)制中止任務(wù) abort(id)

Callback: cb()

Example:

var id = fs.removeR(mypath, function(err) { 
    if (err) {
        /*Success*/ 
    } else {
        /*Fail*/ 
    }
});
// 通過(guò)id可中止刪除任務(wù)
fs.abort(id);

removeSyncR(path)

同步遞歸刪除目錄或文件,在javascript中謹(jǐn)慎使用這個(gè)方法,有可能會(huì)造成線程長(zhǎng)時(shí)間被柱塞

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

copy(path,target[,cb])

copyR(path, target[,cb])

拷貝文件,并返回一個(gè)中止id,如果不成功會(huì)拋出異常

使用這個(gè)id可以強(qiáng)制中止拷貝任務(wù) abort(id)

遞歸拷貝文件與目錄copyR() 這個(gè)方法與copy()區(qū)別在于,copy()只能拷貝單個(gè)文件

Callback: cb()

Example:

var id = fs.copy(source, target, function(err) { 
    if (err) {
        /*Success*/ 
    } else {
        /*Fail*/ 
    }
});
// 通過(guò)id可中止任務(wù)
fs.abort(id);

copySync(path, target)

copySyncR(path, target)

同步拷貝文件,在javascript中謹(jǐn)慎使用這個(gè)方法,有可能會(huì)造成線程長(zhǎng)時(shí)間被柱塞

遞歸拷貝文件與目錄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])

測(cè)試是否為一個(gè)文件,成功返回bool類(lèi)型值

Callback: cb(ok) (ok:bool)

isFileSync(path)

isDirectory(path[,cb])

測(cè)試是否為一個(gè)目錄,成功返回bool類(lèi)型值

Callback: cb(ok) (ok:bool)

isDirectorySync(path)

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)