この記事では、仕事でよく使う Nodejs ファイル fs モジュールの API を次回忘れないように整理して記録します。
Web 開発エンジニアとして、Nodejs を扱うことは避けられません。fs モジュールは非常に便利で、いくつかのファイル関連の操作を実行できますが、私は常に忘れてください、忘れてました。次回忘れないように今日もう一度整理して記録しておこうと思います。
fs モジュールのファイル操作は通常、同期 API と非同期 API の両方をサポートしており、非同期にはコールバック関数と Promsie フォームも含まれます。通常、同期の後には sync
という単語が続きます。 [推奨学習: 「nodejs チュートリアル 」]
fs.open(path:string,callback: (err,fd)=>void)
は、ファイルを開き、ファイル記述子 (ファイル記述子) を取得し、取得したファイル記述子に基づいてファイル操作を実行するために使用されます。 fs.close(fd:number,callback:(err)=>void)
ファイルを閉じるために使用されます。
//打开文件 fs.open(path,(err,fd)=>{ //针对拿到的fd 进行操作 //关闭文件 fs.close(fd, (err) => { if (err) throw err; }); })
通常、ファイルに対してさまざまな操作を実行するために使用されます。ファイルの内容を読み取るだけの場合は、fs.readFile
を使用することをお勧めします。ファイルを読み取ります:fs.readFile(path:string,callback:(err,data)=>void)
fs.readFile(path,(err,data)=>{ //string或者buffer console.log(data) })
ディレクトリを読み取ります:fs.readdir(path:string ,callback:(err , files:Array<string>)=>void)
fs.readdir("./dir",(err,fileNames)=>{ console.log(fileNames) })
ファイル記述子を読み取る別の方法があります:
fs。 read(fd,buffer,offset,length,position,callback:(err,bytesLen,buffer)=>void)
//分配一块长度为10的缓存区 const buffer = Buffer.alloc(10); //打开文件 fs.open(path,(err,fd)=>{ //针对拿到的fd 进行操作:将fd对应的文件内容读取到buffer里 //position为文件的起点 //length为读取的长度 //offset为缓存区起读的位置 fs.read(fd,buffer,offset,length,position,(err,bytesLen,buffer)=>{ //buffer为包含读到数据的原始buffer对象 //bytesLen === length;// true }) //关闭文件 fs.close(fd, (err) => { if (err) throw err; }); })
string または buffer:fs.writeFile(path,data,callback:(err)=>void)
fs.writeFile('message.txt', data, (err) => { if (err) throw err; });
fd:
fs.open(path,(err,fd)=>{ //针对拿到的fd 进行操作:将buffer内容写如fd对应的文件里 //position为文件的起点 //length为待写的长度 //offset为缓存区起写的位置 fs.write(fd,buffer,offset,length,position,(err,bytesWrittenLen,buffer)=>{ }) //关闭文件 fs.close(fd, (err) => { if (err) throw err; }); })
fs.unlink(path, callback:(err)=>void)
fs.rmdir(path, callback:(err) )=> ;void)
fs.rm(path,callback:(err)=>void)
fs.stat(path,(err,stat)=>{ //stat包含了该目录或文件的大小、创建时间、更新时间,是目录还是文件等 //stats.isDirectory() //stats.isFile() })
//文件 fs.rename('oldFile.txt', 'newFile.txt', (err) => { if (err) throw err; console.log('Rename complete!'); }); //目录 fs.rename('oldFileDir', 'newFileDir', (err) => { if (err) throw err; console.log('Rename complete!'); });
プログラミング入門をご覧ください。 !
以上が一部の Nodejs 共通ファイル fs モジュール API を共有する (概要)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。