Artikel ini menyusun dan merekodkan beberapa Nodejs API modul fs fail yang biasa digunakan dalam kerja, supaya tidak melupakannya pada masa akan datang.
Sebagai jurutera pembangunan web, saya perlu berurusan dengan Nodejs Modul fs sangat berguna dan boleh melakukan beberapa operasi berkaitan fail, tetapi saya selalu lupa itu. , Lupa ingat. Saya bercadang untuk mengatur dan merakamnya semula hari ini untuk mengelakkan ia terlupa pada masa akan datang.
Kendalian fail modul fs secara amnya menyokong kedua-dua API segerak dan tak segerak, dan tak segerak juga termasuk fungsi panggil balik dan borang janji. Penyegerakan biasanya diikuti dengan perkataan sync
. [Pembelajaran yang disyorkan: "tutorial nodejs"]
fs.open(path:string,callback:(err,fd)=>void)
digunakan untuk membuka fail dan mendapatkan deskriptor fail ( deskriptor fail), lakukan operasi fail berdasarkan deskriptor fail yang diperolehi. fs.close(fd:number,callback:(err)=>void)
Digunakan untuk menutup fail
//打开文件 fs.open(path,(err,fd)=>{ //针对拿到的fd 进行操作 //关闭文件 fs.close(fd, (err) => { if (err) throw err; }); })
biasanya digunakan untuk melakukan pelbagai operasi pada fail. Jika anda hanya ingin membaca kandungan fail, disyorkan untuk menggunakan fs.readFile
untuk membaca fail: fs.readFile(path:string,callback:(err,data)=>void)
fs.readFile(path,(err,data)=>{ //string或者buffer console.log(data) })
Baca direktori:fs.readdir(path:string,callback:(err,files:Array<string>)=>void)
fs.readdir("./dir",(err,fileNames)=>{ console.log(fileNames) })
Terdapat juga cara untuk membaca melalui deskriptor fail:
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; }); })
Tulis data ke fail, data boleh menjadi rentetan atau penampan:fs.writeFile(path,data,callback:(err)=>void)
fs.writeFile('message.txt', data, (err) => { if (err) throw err; });
Terdapat cara lain untuk menulis fail melalui deskriptor fail 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; }); })
Padam fail: fs.unlink(path, callback:(err)=>void)
Padam direktori: fs.rmdir(path,callback:(err)=>void)
Menyokong pemadaman direktori dan fail pada masa yang sama: fs.rm(path,callback:(err)=>void)
fs.stat(path,(err,stat)=>{ //stat包含了该目录或文件的大小、创建时间、更新时间,是目录还是文件等 //stats.isDirectory() //stats.isFile() })
Penamaan semula termasuk menamakan semula fail dan direktori
//文件 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!'); });
Terima kasih kerana membaca, jika anda mempunyai sebarang pertanyaan sila tinggalkan mesej untuk perbincangan, terima kasih!
Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati: Pengenalan kepada Pengaturcaraan! !
Atas ialah kandungan terperinci Kongsi beberapa API modul fs fail Nodejs biasa (ringkasan). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!