Nodejsモジュール:FS

/ ** 
 * @description FSモジュールの共通API 
 * / 

// FSすべてのファイル操作が非同期IOされている、あなたが同期して呼び出したい場合は、APIに基づいて、元の同期同期でプラスを追加します
。//同期しますコールバックの最後のパスで、非同期転送モードは、コールバックしません
非同期欠陥が異常に制御することができません//、キャッチだけのtry使用することができます

FSが必要です(「FS」)=定数; 
constのパスを=(「パス」)を必要とする

のconstを= path.resolve fileReadPath(__ dirnameは、 'demoRead.txt'); 

//ファイルを読み込む
// readFileのreadFileSync 
試し{ 
    ; constの= fs.readFileSyncデータ(fileReadPath 'UTF8')
    //はconsole.log(データ)
キャッチを} (ERR){ 
    console.error( 'ファイルからの読み取りエラー:'、err.message)
    fs.writeFileSync(fileReadPath、 '123123423'); 
} 


fs.readFile(fileReadPath、 'UTF8'、関数(ERR、データ){
    :(ERR)リターンconsole.error(、err.message「ファイルからの読み込みエラー」)場合
    はconsole.log(「ファイルの内容:」、データが)
})

//フォルダを読んで、電流に対応したフォルダがすべて取得ディレクトリは
//のreaddir readdirSyncは
//パスがパスであるすべてのファイルのリストを返します
。(path.resolve(__ dirnameは、」../fs'))のreaddirのconst = fs.readdirSync 
にconsole.log(readdir関数)







のconst =パスfileWritePathを.resolve(__ dirnameは、 'demoWrite.html'); 

//ファイルに書き込む
こと伝送エラーコールバック、//非同期書き込みを
//のWriteFile writeFileSync 
fs.writeFile(fileWritePath、 '<HTML> 123123 </ HTML>'を、機能(ERR){ 
    IF(ERR)スローERR; 
    //はconsole.log( '成功を書く')
})

のtry { 
    fs.writeFileSync(fileWritePath、 '<HTML> 123123 </ HTML>');
    //にconsole.log( 'が正常に書かれました')
}キャッチ(ERR){ 
    にconsole.log(ERR)
} 





CONST dirPath1 = path.resolve(__ DIRNAME、 'demoDir1')。

//创建目录
// MKDIR mkdirSync 
fs.mkdir(dirPath1、関数(ERR){ 
    IF(ERR){ 
        //はconsole.log(ERR)
        リターン
    }; 
    //はconsole.log( '创建目录成功')
})

CONST dirPath2 = path.resolve(__ dirnameは、 'demoDir2'); 

試す{ 
    fs.mkdirSync(dirPath2)。
    fs.writeFileSync(dirPath2 + '/demoDir2File.txt'、 'dqwdjwdojdojqwd'); 
    fs.mkdirSync(dirPath2 + '/ balabala')。
    fs.writeFileSync(dirPath2 + '/balabala/balabalaFile.txt'、 'dqwdjwdojdojqwd'); 
} 





//を確認
// existsSyncの
CONST = isExists fs.existsSync(path.resolve(__ DIRNAME、 'demoRead.txt')); 
はconsole.log( 'isExists:'、isExists)

//コールバックが存在するが、ほとんどない、今アクセスして
fs.access(path.resolve(__ dirnameは、 'demoRead.txt')、機能(ERR){ 
    IF(ERR)はconsole.log(ERR)
    はconsole.log( 'この文書を持っています「) 
});




 
分析//は、ファイルSTATを取得するには、フォルダまたはファイルで、その後メソッドを呼び出し
STAT statSyncは// 
isDirectory()ISFILE()// 
constの= fs.statSync STAT(path.resolve(__ dirnameは、 'demoDir1')); 
(stat.isDirectory()){IF 
    にconsole.logは( '現在のフォルダである')
他IF(stat.isFile()){} 
    はconsole.log( '現在のファイル')
}他{ 
    コンソールが。ログ(「どちらのファイルもフォルダ」);
} 






//ファイルを削除
//アンリンクunlinkSyncの
CONST = filePathにpath.resolve(__ dirnameのを、 'demoRead.txt'); 
IF(fs.existsSync(filePathに)){ 
    fs.unlinkSync(filePathに); 
    にconsole.logは(「正常にファイルを削除します「)
} 

//フォルダを削除
// rmdirをrmdirSync 
フォルダフォルダがある場合は、レポートにエラーを削除すること//注意、フォルダを持つことができない、こと、またはしてはならないファイルの完全なフォルダを削除する
//もしそうなら、あなたは再帰的に削除する必要があります
IF(fs.existsSync(dirPath2)){ 
    試み{ 
        fs.rmdirSync(dirPath2); 
    }キャッチ(ERR){ 
        delDir(dirPath2)
    } 
    はconsole.log( 'フォルダの成功を削除')
} 

//再帰削除ファイルやフォルダ
機能delDir(filePathに){ 
    IF(fs.existsSync(filePathに)){ 
        CONST = fs.statSync STAT(filePathに)。
        IF(stat.isDirectory()){ 
            //これはフォルダである、また、フォルダかどうかを決定する必要性が存在する
            、すなわち、再帰呼び出し、すべてのファイルの//フォルダを横断する必要があり、フォルダまたはファイルか否かを判断
            =定数ファイルfs.readdirSync(filePathに); 
            files.forEach(関数(項目){ 
                delDir(path.resolve(filePathに、項目)); 
            }); 
            fs.rmdirSync(filePathに); 
        }そうIF(stat.isFile()){ 
            / /削除、現在のファイルである
            fs.unlinkSync(filePathにする); 
        }
    他の{} 
        はconsole.log(「ファイルが存在しません!」)
    } 
}

  

おすすめ

転載: www.cnblogs.com/yanchenyu/p/11300346.html