这篇文章将为大家详细讲解有关node . js中怎么对文件进行操作,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
<强>一、文件操作强>
在文件操作里,主要是有文件读写,创建,移动文件等。
<强> 1.1读取文件强>
读取文本文件时,如。. js, txt . json等文件,直接使用readFile就可以获取文件的内容。
//, server.js var fs =,要求(& # 39;fs # 39;); fs.readFile (& # 39;。/data.txt& # 39;,, & # 39; utf - 8 # 39;,,函数(呃,,数据){ ,如果(err) throw 犯错; ,console.log(数据); });
读取图片时,我们是不能直接输出到控制台中的,是需要创建一个服务器,然后在浏览器上进行查看。其实在上节中,我们已经了解过显示图片的过程了。
//, server.js var http =,要求(& # 39;http # 39;),=,fs 要求(& # 39;fs # 39;); http.createServer(函数(请求,响应){//大敌;使用二进制方式读取图片 ,fs.readFile (& # 39;。/img/test.png& # 39;,, & # 39;二进制# 39;,,函数(呃,,文件){ 如果才能(,err ), throw 犯错;//才能,当前数据以图像/png方式进行输出 response.writeHead才能(200,{“Content-Type":,“图像/png"}); response.write才能(文件,& # 39;二进制# 39;); response.end才能(); ,}); }).listen (3000); console.log (& # 39; server has 开始……& # 39;);
打开浏览器:127.0.0.1:3000,就能看到图片了。
<强> 1.2写入文件强>
将字符串写入到文件文件中,是非常简单的操作,使用<代码> writeFile> 代码即可搞定:
var fs =,要求(& # 39;fs # 39;); var data =, & # 39;从一开始,就选择了做前端开发,因为觉得前端开发更贴近用户,能够倾听用户的声音,更好玩,更有意思、美的更直观。我们总是在尝试最新的技术,尝试更炫的效果,希望更能优化用户的体验效果! & # 39;; fs.writeFile(& # 39;。/用法# 39;,,数据,函数(err) { ,如果(err) throw 犯错; ,console.log(& # 39;写入数据成功……& # 39;); });
<代码> writeFile 代码>方法,在没有文件时会创建文件并写入;若文件存在则内容被覆盖。
<强> 1.3创建或文件重命名强>
根据<代码> writeFile> 代码的特性,可以使用<代码> writeFile> 代码写入空字符串的方式创建文件。
同时,<代码> fs。打开代码>也可以创建文件:
//,打开模式可以使用,w |, w +, |, a | +//,这些模式在打开不存在的文件时,会创建文件//,fd为一个整数,表示打开文件返回的文件描述符,窗口中又称文件句柄 fs.open (Date.now () + & # 39; . txt # 39;,, & # 39; a + & # 39;,,函数(呃,,fd) { ,如果(err) throw 犯错; ,console.log (fd); })
在文件系统中,有一个<代码> fs。rename> 代码的方法,顾名思义,对文件(文件夹)进行重命名。
fs.rename (oldname,新名称,,回调(err));
<强>特性:强>
将oldname文件(目录)移动至新名称的路径下,并重新命名;如果oldname和新名称是同一个路径,则直接进行重命名。
<强>二、文件夹操作强>
通常对目录的操作比较简单一些。
<强> 2.1读取文件夹中的文件和文件夹列表
强>
使用<代码> fs。readdir(路径,回调)代码>可以获取路径路径下的文件和目录列表,而且只能读取直接目录下的文件和文件夹,子目录里的是获取不到的。
fs.readdir(& # 39;。/& # 39;,,函数(呃,,文件){ ,如果(err) throw 犯错; ,console.log (, files ); });
输出结果:
( ,& # 39;img # 39; ,& # 39;msg.txt& # 39; ,& # 39;node_modules& # 39; ,& # 39;package.json& # 39; ,& # 39;server.js& # 39; ,& # 39;. js # 39; ,& # 39;tmp # 39; )
<代码> node_modules 代码>和<代码> tmp> 代码是文件夹,剩下的是文件,而且是获取不到<代码> node_modules 代码>和<代码> tmp> 代码里面的数据。获取一个目录下所有的文件,后面会讲解,稍等。
<强> 2.2删除文件夹强>
使用<代码> fs。删除路径(路径,回调)代码>可以删除文件夹,但只能删除空文件夹,如果当前路径不是文件夹或当前文件夹不为空,则删除失败;删除的为空文件夹时,可以删除成功。