数码资讯
ThedifferencebetweenthemethodsofreadingandwritinginnodeJS
简介:所有Nodejs和FS模块的相关操作文件,并进行读写操作,我们将经常使用的操作,FS Nodejs模块的读操作为我们提供ReadFile,阅读,这三种方法createreadstream,提供WriteFile,我们写操作写createwritestream三方法的差异分析: 一、ReadFi
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
简介:所有Nodejs和FS模块的相关操作文件,并进行读写操作,我们将经常使用的操作,FS Nodejs模块的读操作为我们提供ReadFile,阅读,这三种方法createreadstream,提供WriteFile,我们写操作写createwritestream三方法的差异分析:
一、ReadFile和WriteFile
1、ReadFile方法读取文件的内容读取到缓存中,然后读取文件内容从缓存,具体操作如下:
Fs.readFile('。 /测试。txt,'utf8功能(呃,数据){
console.log(数据);
});
相应的同步方法是:
VaR数据= fs.readfilesync('。 /测试。txt,'utf8);
console.log(数据);
同步和异步方法的方法是使用同步操作方法年底前实施的差异,无法执行后续代码执行;与异步操作方法的结果作为回调函数返回一个参数,方法调用,你可以立即执行代码,读取回调函数将调用相应的。
2、WriteFile方法读取文件写入缓存的内容,写缓存的内容到文件一次。同步和异步的具体操作如下:
异步方法
Fs.writeFile('。 /消息。txt,这是第一行,功能(ERR){
如果(ERR)console.log(写入文件操作失败);
其他console.log(写入文件操作成功);
});
同步方法
Fs.writeFileSync('。 /消息。txt,这是第一行);
在上面的读写操作,Node.js将文件内容作为一个整体,将缓存区,并读取文件内容的缓冲区一次。在这期间,Node.js将不执行任何其他处理。所以读取大文件时,可能会导致缓存爆炸。
二、读写
1、阅读或readsync读取一个文件的内容读取文件中的一小块内容进入缓冲区,最后阅读的内容从缓存。
VaR FS =需要('fs);
Fs.open('。 /消息。txt,R的函数(呃,FD){
VaR buf =新的缓冲区(225);
/ /读的FD文件内容的缓冲区高速缓存
fs.read(fd,buf,0,9,3,功能(呃,bytesread,缓冲){
console.log(buf.slice(0,bytesread)。ToString());
});
var =新缓冲区(225);
设置从文件null读取的位置将默认为当前位置。
fs.read(FD,buff,0.3,null,函数(呃,bytesread,缓冲){
console.log(buff.slice(0,bytesread)。ToString());
});
var缓冲区=新缓冲区(225);
读取文件同步方法
无功bytesread = fs.readfilesync(FD,缓冲,0,9,3);
console.log(bytesread);
console.log(buffer.slice(0,bytesread)。ToString());
});
2、写或写的内容writesync方法,Node.js执行以下过程:1将需要写数据到内存缓冲区;2是在缓冲区写入到文件填充;3重复步骤1和步骤2,知道所有的数据写入文件。具体操作如下:
VaR FS =需要('fs);
VaR buf =新的缓冲区(我爱编程的);
Fs.open('。 /混乱。txt,'w',功能(呃,FD){
fs.write(fd,buf,3,9,0,功能(呃,写缓冲){
fs.write(fd,buf,12,3,null,函数(呃,写缓冲){
如果(ERR)console.log(写入文件操作失败);
console.log(写入文件操作成功);
});
});
写同步
Fs.writeSync(fd,buf,3,9,0);
});
以上的读写操作,Node.js将文件分成一块一步,允许其他操作在阅读与写作过程的进行。
但有时我们并不关心整个文件的内容,但我们只关心从文件中读取的一些数据,以及在读取数据时需要执行的处理,因此我们可以使用文件流来处理它。
三、createreadstream和createwritestream
1、本createreadstream方法创建一个对象,readstream读取文件的内容的数据流,和方法如下:
VaR FS =需要('fs);
无功readstream = fs.createreadstream('。 /消息。txt,{开始:3、结束:12 });
readstream.on(打开功能(FD){
console.log('begin读取文件);
});
readstream.on(数据功能(数据){
console.log(读取数据:');
console.log(数据);
});
readstream.on(最终,函数(){(){
console.log(文件已全部读出来的);
});
readstream.on('关闭',函数(){(){
console.log(文件是关闭的);
});
readstream.on(错误功能(ERR){
console.log(读取文件失败);
});
2、本createwritestream方法创建一个对象的数据流writestream写进文件,和方法如下:
VaR FS =需要('fs);
var文件= fs.createreadstream('。 /信息.txt);
var = fs.createwritestream('。 / anothermessage .txt);
file.on(数据功能(数据){
out.write(数据);
});
为(打开,功能(FD){
console.log(文件需要写了');
});
file.on(最终,函数(){(){
操作系统将所有写入文件的数据缓冲。
out.end(再见,函数(){
console.log(完整书面文件);
console.log('co写作+。byteswritten +数据);
});
});
上述方法可以监视文件的读写过程,并定义相关的方法。暂停并恢复挂起或恢复文件的读取操作,该文件可以监视缓存数据是否已满或是否已全部输出。
的writestream对象的漏事件监视器 / /
VaR FS =需要('fs);
var = fs.createwritestream('。 / test1 .txt);
对于(var i = 0;i < 10000;i + +){
返回true或false true,表示缓存已满。
VaR旗= out.write(i.tostring());
console.log(标志);
}
为('drain,函数(){(){
console.log(数据在操作系统的缓存区已全部输出);
var = fs.createwritestream('。 / test2 .txt);
对于(var i = 0;i < 10;i + +){
VaR旗= out.write(i.tostring());
console.log(标志);
}
为('drain,函数(){(){
console.log(数据在操作系统的缓存区已全部输出);
});
});
以上是本文的全部内容,希望能对您有所帮助,希望大家多多支持。
一、ReadFile和WriteFile
1、ReadFile方法读取文件的内容读取到缓存中,然后读取文件内容从缓存,具体操作如下:
Fs.readFile('。 /测试。txt,'utf8功能(呃,数据){
console.log(数据);
});
相应的同步方法是:
VaR数据= fs.readfilesync('。 /测试。txt,'utf8);
console.log(数据);
同步和异步方法的方法是使用同步操作方法年底前实施的差异,无法执行后续代码执行;与异步操作方法的结果作为回调函数返回一个参数,方法调用,你可以立即执行代码,读取回调函数将调用相应的。
2、WriteFile方法读取文件写入缓存的内容,写缓存的内容到文件一次。同步和异步的具体操作如下:
异步方法
Fs.writeFile('。 /消息。txt,这是第一行,功能(ERR){
如果(ERR)console.log(写入文件操作失败);
其他console.log(写入文件操作成功);
});
同步方法
Fs.writeFileSync('。 /消息。txt,这是第一行);
在上面的读写操作,Node.js将文件内容作为一个整体,将缓存区,并读取文件内容的缓冲区一次。在这期间,Node.js将不执行任何其他处理。所以读取大文件时,可能会导致缓存爆炸。
二、读写
1、阅读或readsync读取一个文件的内容读取文件中的一小块内容进入缓冲区,最后阅读的内容从缓存。
VaR FS =需要('fs);
Fs.open('。 /消息。txt,R的函数(呃,FD){
VaR buf =新的缓冲区(225);
/ /读的FD文件内容的缓冲区高速缓存
fs.read(fd,buf,0,9,3,功能(呃,bytesread,缓冲){
console.log(buf.slice(0,bytesread)。ToString());
});
var =新缓冲区(225);
设置从文件null读取的位置将默认为当前位置。
fs.read(FD,buff,0.3,null,函数(呃,bytesread,缓冲){
console.log(buff.slice(0,bytesread)。ToString());
});
var缓冲区=新缓冲区(225);
读取文件同步方法
无功bytesread = fs.readfilesync(FD,缓冲,0,9,3);
console.log(bytesread);
console.log(buffer.slice(0,bytesread)。ToString());
});
2、写或写的内容writesync方法,Node.js执行以下过程:1将需要写数据到内存缓冲区;2是在缓冲区写入到文件填充;3重复步骤1和步骤2,知道所有的数据写入文件。具体操作如下:
VaR FS =需要('fs);
VaR buf =新的缓冲区(我爱编程的);
Fs.open('。 /混乱。txt,'w',功能(呃,FD){
fs.write(fd,buf,3,9,0,功能(呃,写缓冲){
fs.write(fd,buf,12,3,null,函数(呃,写缓冲){
如果(ERR)console.log(写入文件操作失败);
console.log(写入文件操作成功);
});
});
写同步
Fs.writeSync(fd,buf,3,9,0);
});
以上的读写操作,Node.js将文件分成一块一步,允许其他操作在阅读与写作过程的进行。
但有时我们并不关心整个文件的内容,但我们只关心从文件中读取的一些数据,以及在读取数据时需要执行的处理,因此我们可以使用文件流来处理它。
三、createreadstream和createwritestream
1、本createreadstream方法创建一个对象,readstream读取文件的内容的数据流,和方法如下:
VaR FS =需要('fs);
无功readstream = fs.createreadstream('。 /消息。txt,{开始:3、结束:12 });
readstream.on(打开功能(FD){
console.log('begin读取文件);
});
readstream.on(数据功能(数据){
console.log(读取数据:');
console.log(数据);
});
readstream.on(最终,函数(){(){
console.log(文件已全部读出来的);
});
readstream.on('关闭',函数(){(){
console.log(文件是关闭的);
});
readstream.on(错误功能(ERR){
console.log(读取文件失败);
});
2、本createwritestream方法创建一个对象的数据流writestream写进文件,和方法如下:
VaR FS =需要('fs);
var文件= fs.createreadstream('。 /信息.txt);
var = fs.createwritestream('。 / anothermessage .txt);
file.on(数据功能(数据){
out.write(数据);
});
为(打开,功能(FD){
console.log(文件需要写了');
});
file.on(最终,函数(){(){
操作系统将所有写入文件的数据缓冲。
out.end(再见,函数(){
console.log(完整书面文件);
console.log('co写作+。byteswritten +数据);
});
});
上述方法可以监视文件的读写过程,并定义相关的方法。暂停并恢复挂起或恢复文件的读取操作,该文件可以监视缓存数据是否已满或是否已全部输出。
的writestream对象的漏事件监视器 / /
VaR FS =需要('fs);
var = fs.createwritestream('。 / test1 .txt);
对于(var i = 0;i < 10000;i + +){
返回true或false true,表示缓存已满。
VaR旗= out.write(i.tostring());
console.log(标志);
}
为('drain,函数(){(){
console.log(数据在操作系统的缓存区已全部输出);
var = fs.createwritestream('。 / test2 .txt);
对于(var i = 0;i < 10;i + +){
VaR旗= out.write(i.tostring());
console.log(标志);
}
为('drain,函数(){(){
console.log(数据在操作系统的缓存区已全部输出);
});
});
以上是本文的全部内容,希望能对您有所帮助,希望大家多多支持。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。