In diesem Artikel werden einige NodejsFile-FS-Modul-APIs organisiert und aufgezeichnet, die häufig bei der Arbeit verwendet werden, damit Sie sie beim nächsten Mal nicht vergessen.
Als Webentwicklungsingenieur muss ich mich mit Nodejs auseinandersetzen. Das fs-Modul ist sehr nützlich und kann einige dateibezogene Vorgänge ausführen, aber ich vergesse es immer. Ich habe vor, es heute noch einmal zu ordnen und aufzuzeichnen, um es beim nächsten Mal nicht zu vergessen.
Die Dateioperationen des fs-Moduls unterstützen im Allgemeinen sowohl synchrone als auch asynchrone APIs, und asynchron umfasst auch Rückruffunktionen und Promsie-Formulare. Auf die Synchronisierung folgen normalerweise die Wörter sync
. [Empfohlenes Lernen: „nodejs Tutorialsync
字样。【推荐学习:《nodejs 教程》】
fs.open(path:string,callback:(err,fd)=>void)
用于打开文件,获取文件描述符(file descriptor),基于拿到的文件描述符做文件操作。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; }); })
将数据写入文件,数据可以是字符串或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.open(path:string,callback:(err,fd)=>void)
wird zum Öffnen und Abrufen von Dateien verwendet Dateideskriptor (Dateideskriptor), führt Dateioperationen basierend auf dem erhaltenen Dateideskriptor aus. fs.close(fd:number,callback:(err)=>void)
wird zum Schließen der Datei verwendetfs.stat(path,(err,stat)=>{ //stat包含了该目录或文件的大小、创建时间、更新时间,是目录还是文件等 //stats.isDirectory() //stats.isFile() })
fs.readFile
Lesen Sie die Datei (das Verzeichnis)fs.readFile(path:string,callback:(err,data)=>void)
//文件 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!'); });
fs.readdir(path:string,callback: (err,files: Array<string>)=>void)
rrreeeEs gibt eine andere Möglichkeit, den Dateideskriptor durchzulesen:
fs.read(fd,buffer,offset,length, position,callback: (err,bytesLen,buffer)=>void)
rrreeeIn Datei schreiben
fs.writeFile(path,data,callback:(err)=>void)
🎜rrreee🎜Es gibt einen anderen Weg, über den Dateideskriptor fd
code>Zum Schreiben von Dateien:🎜rrreeefs.unlink(path, callback:(err) =>void)
🎜🎜Verzeichnisse löschen: fs.rmdir(path,callback:(err)=>void)
🎜🎜Unterstützt das gleichzeitige Löschen von Verzeichnissen und Dateien: fs.rm(path , callback: (err)=>void)🎜🎜🎜Statusinformationen des Verzeichnisses (der Datei) anzeigen🎜🎜rrreee🎜🎜Umbenennen🎜🎜🎜Umbenennen umfasst das Umbenennen von Dateien und Verzeichnissen 🎜rrreee🎜🎜Endlich🎜 🎜🎜Danke fürs Lesen. Wenn Sie Fragen haben, hinterlassen Sie bitte eine Nachricht zur Diskussion, danke! 🎜🎜Weitere Kenntnisse zum Thema Programmierung finden Sie unter: 🎜Einführung in die Programmierung🎜! ! 🎜Das obige ist der detaillierte Inhalt vonTeilen Sie einige allgemeine Nodejs-Datei-FS-Modul-APIs (Zusammenfassung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!