ホームページ >ウェブフロントエンド >jsチュートリアル >Nodejs ファイル操作とストリーム (ストリーム) について簡単に紹介します。
この記事では、Nodejs でのファイル操作 (ディレクトリ/ファイルの作成と削除、名前変更、コンテンツの追加、コンテンツの読み取り) を紹介し、ストリームについて簡単に説明します。
NodeJS
インターネット上で明るく輝くだけでなく、論理的に言えば、これらの api
を合理的に使用し、データ処理を追加する限り、多くのローカル操作を完了できます。 [推奨学習: "nodejs チュートリアル "], 今日紹介したい主役は
fs モジュールです。これは
NodeJS に組み込まれたファイル モジュールです。このモジュールには多くの
API が含まれています使用します。
fs.writeFile を使用して、ディレクトリとファイルを別々に作成します。
は 3 つのパラメータを受け取ることができます。1 つ目はパス、2 つ目はアクセス許可を表すオプションのオプションです。通常はこれは必要ありません。3 つ目のパラメータはコールバック関数です。ここで何らかの処理を行うことができます。
/* learnNode.js */ let fs = require('fs'); fs.mkdir('js',(err)=>{ if(err){ console.log('出错') }else{ console.log('未出错') } })
は 4 つのパラメータを受け取ることができます。1 つ目はパス、2 つ目はファイルの内容、3 つ目のオプションはアクセス許可を表し、3 つ目は 4 つですはコールバック関数です。
/* learnNode.js */ let fs = require('fs'); fs.writeFile('./js/newJs.js','console.log("写入这个")',(err)=>{ if(err){ console.log('出错') }else{ console.log('没出错') } })
を使用して、パス内のファイルがディレクトリであるか、それともディレクトリであるかを検出できます。ファイルを作成すると、いくつかの操作を行うことができます。
/* learnNode.js */ let fs = require('fs'); fs.stat('./js/newJs.js', (error, stats) => { if(error) { console.log(error); return false; } else { console.log(`是否文件:${stats.isFile()}`); console.log(`是否目录:${stats.isDirectory()}`); return false; } })
stats
オブジェクト。このオブジェクトはファイルに関する情報を提供します。このオブジェクトの情報を判断できます。
fs.unlink``fs.rmdir を使用して、ファイルを削除することもできます。
<pre class="brush:js;toolbar:false;">/* learnNode.js */
let fs = require(&#39;fs&#39;);
fs.unlink(&#39;./js/newJs.js&#39;, (err) => {
if (err) throw err;
console.log(&#39;文件已删除&#39;);
});
fs.rmdir(&#39;./js&#39;,(err)=>{
if (err) throw err;
console.log(&#39;目录已删除&#39;);
})</pre>
名前の変更
/* learnNode.js */ let fs = require('fs'); fs.rename('oldJs.js','newJs.js',(err)=>{ if(err){ console.log('出错') }else{ console.log('未出错') } })
/* learnNode.js */ let fs = require('fs'); fs.rename('newJs.js','./js/oldJs.js',(err)=>{ if(err){ console.log('出错') }else{ console.log('剪切到js文件夹内了') } })
コンテンツの追加/* learnNode.js */ let fs = require('fs'); fs.appendFile('newJs.txt','我是追加的内容',(err)=>{ if(err){ console.log('出错') }else{ console.log('追加内容') } })
<pre class="brush:js;toolbar:false;">/* learnNode.js */
let fs = require(&#39;fs&#39;);
fs.readFile(&#39;newJs.txt&#39;, (err, data) => {
if(err) {
console.log(&#39;出错&#39;);
} else {
console.log("读取文件成功!");
console.log(data);
}
})</pre>
/* learnNode.js */ let fs = require('fs'); fs.readdir('./', (err, data) => { if(err) { console.log('出错'); } else { console.log("读取目录成功!"); console.log(data); } })
API
都是接收两个参数,第一个是路径,第二个是回调函数,这个回调函数也有两个参数里面包含了data
信息,我们可以打印这个data
信息来获取内容。stream
,翻译过来就是流
的意思,提到流你会想到什么,河流,水流,都是从一个源头到另一个源头,就像水龙头从开关到流到地面,stream
也是这样一个过程。error
,有数据时触发的data
。var fs = require("fs"); var data = ''; // 创建可读流 var readerStream = fs.createReadStream('newJs.txt'); // 设置编码为 utf8。 readerStream.setEncoding('UTF8'); // 处理流事件 遇到有数据时执行这个 readerStream.on('data', function(chunk) { data += chunk; console.log(chunk,'流遇到数据了') }); // 处理流事件 流结束时执行这个 readerStream.on('end',function(){ console.log(data,'流结束了'); }); // 处理流事件 流报错时执行这个 readerStream.on('error', function(err){ console.log(err.stack); }); console.log("程序执行完毕");
fs.createReadStream()
,参数是你要读的文件路径。readerStream.on('data',callback())
,如下图所示。readerStream.on('end',callback())
,如下图所示。var fs = require("fs"); var data = '我是小卢,我再写入流'; // 创建一个可以写入的流,写入到文件 newJs.txt 中 var writerStream = fs.createWriteStream('newJs.txt'); // 使用 utf8 编码写入数据 writerStream.write(data,'UTF8'); // 标记文件末尾 writerStream.end(); // 处理流事件 完成和报错时执行 writerStream.on('finish', function() { console.log("写入完毕"); }); writerStream.on('error', function(err){ console.log(err.stack); }); console.log("程序执行完毕");
data
数据写入newJs.txt
文件中。readerStream.on('finish',callback())
,如下图所示。newJs.txt
文件中已经存在了我们写入的数据。总的来说NodeJS
提供了fs
文件操作模块,这个模块有很多的API
,上面只是简单的展示了一下,还有很多有趣的API
大家只需要用到的时候去官网查就好了,因为NodeJS
能操作文件,小至文件查找,大至代码编译。换个角度讲,几乎也只需要一些数据处理逻辑,再加上一些文件操作,就能够编写出大多数前端工具。
原文地址:https://juejin.cn/post/6997204352683212831
作者:快跑啊小卢_
更多编程相关知识,请访问:编程视频!!
以上がNodejs ファイル操作とストリーム (ストリーム) について簡単に紹介します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。