NodeJ のファイル システムとストリームの詳細な解釈
この記事では主にnodeJsファイルシステム(fs)とストリーム(stream)の詳細な説明を紹介しますので、参考にしてください。
1. はじめに
この記事では、node.js ファイルシステム (fs) とストリーム (stream) の API とパラメーターの使用法を紹介します。
2. ディレクトリ
ファイルシステムには、
1.fs.readFile
2.fs.writeFile
3.fs.open
4.fs.read
5が導入されます。 fs.stat
6.fs.close
7.fs.mkdir
8.fs.rmdir
9.fs.readdir
10.fs.unlink
4 種類のストリーム ストリーム: 読み取り可能、書き込み可能、 duplex、Transform、Stream オブジェクト イベント。
3. ファイルシステム fs の主なメソッドの紹介
1. fs.readFile
readFile メソッドは主にファイルの内容を読み取り、非同期で動作します。
var fs = require('fs') fs.readFile('a.txt',function(err,data){ if (err){ return console.error(err); }else{ console.log("异步读取: " + data.toString()); } })
2. fs.writeFile
writeFile は非同期モードでファイルを書き込みます、fs.writeFile(file, data[, options], callback)
var fs = require('fs') console.log("准备写入文件") fs.writeFile('input.txt',"写入的内容",function(err){ if (err){ return console.error(err); }else{ console.log("写入成功"); } })
3. fs.open()
は非同期モードで開きます、ファイル、fs .open(path, flags[, mode], callback)
var fs = require("fs"); // 异步打开文件 console.log("准备打开文件"); fs.open('a.txt', 'r+', function(err, fd) {//r+是以读写模式打开,fd为返回的文件描述符 if (err) { return console.error(err); } console.log("文件打开成功!"); });
4. fs.read()
このメソッドはファイルを非同期で読み取ります。形式: fs.read(fd,buffer,offset,length,position,callback)
var fs = require("fs"); var buf = new Buffer(1024); console.log("准备打开文件!"); fs.open('at.txt', 'r+', function(err, fd) { if (err) { return console.error(err); } fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){ if (err){ console.log(err); } // 仅输出读取的字节 if(bytes > 0){ console.log(buf.slice(0, bytes).toString()); } }); });
5. fs.stat()
このメソッドは、ファイル情報を非同期的に取得します。形式: fs.stat(path, callback)
fs.stat('fs.js', function (err, stats) { console.log(stats.isFile()); //true })
stats クラスのインスタンスを非同期的に返すためのメソッドが多数あります (たとえば、stats.isFile)。 () はファイルかどうかを判断し、stats.isDirectory() はディレクトリかどうかを判断します。 。 。 。 。 。
6. fs.close()
fs.close() 構文形式は次のとおりです: fs.close(fd, callback) パラメーターは次のとおりです:
d - fs.open を介して。 () メソッド 返されたファイル記述子。
callback - コールバック関数、パラメータなし。
7. fs.mkdir()
このメソッドは、ディレクトリを作成します。形式は次のとおりです: fs.mkdir(path[, mode], callback):
path: path。
モード: ディレクトリ権限、デフォルトは 0777。
callback: コールバック、パラメータなし。
var fs = require("fs"); console.log("创建目录/test/"); fs.mkdir("/test/",function(err){ if (err) { return console.error(err); } console.log("创建/test目录成功。"); });
8. fs.rmdir()
ディレクトリを削除します。構文形式: fs.rmdir(path, callback)
9. fs.readdir()
このメソッドは、ディレクトリを読み取ります。構文形式: fs .readdir (パス、コールバック)、コールバック関数には 2 つのパラメータがあり、1 つ目は err、2 つ目はディレクトリ内のファイル配列ファイルです。
var fs = require("fs"); console.log("查看 /tmp 目录"); fs.readdir("/tmp/",function(err, files){ if (err) { return console.error(err); } files.forEach( function (file){ console.log( file ); }); });
10. fs.unlink()
このメソッドは、ファイルを削除するために使用されます: fs.unlink(path, callback)
var fs = require("fs"); console.log("准备删除文件!"); fs.unlink('input.txt', function(err) { if (err) { return console.error(err); } console.log("文件删除成功!"); });
4. ストリームの種類とイベントの概要。 : stream は 4 つのストリーム タイプを持つ抽象インターフェイスです:
readable: 読み取り可能;- duplex: 読み取りおよび書き込み可能操作;
- の操作を入力します。データを取得し、結果を読み取ります。
- すべてのストリーム オブジェクトは EventEmitter のインスタンスです。共通イベントは次のとおりです:
- data: データが読み取り可能なときにトリガーされ、
- error: が発生したときにトリガーされます。エラーが発生します。
- finish: 完了時にトリガーされます。
- 2. ストリームからデータを読み取ります
- 4. パイプストリーム(pipe)5. チェーンは、出力ストリームを別のストリームに接続して作成します。複数のストリーム操作チェーンのメカニズム。チェーン フローは通常、パイプライン操作に使用されます。 次に、パイプとチェーンを使用してファイルを圧縮および解凍します。
var fs = require("fs"); var data = '写入流数据'; // 创建一个可以写入的流,写入到文件 output.txt 中 var writerStream = fs.createWriteStream('output.txt'); // 使用 utf8 编码写入数据 writerStream.write(data,'UTF8'); // 标记文件末尾 writerStream.end(); // 处理流事件 --> data, end, and error writerStream.on('finish', function() { console.log("写入完成。"); }); writerStream.on('error', function(err){ console.log(err.stack); }); console.log("程序执行完毕");
ログイン後にコピーrreee
以上が皆さんのためにまとめたもので、今後皆さんのお役に立てれば幸いです。 関連記事:jquery+css3を使用してパンダTVナビゲーションを実装する方法
jQueryで時限非表示ダイアログボックスを実装する方法
JS/jQueryにDIV遅延を実装して、数秒
ネイティブjsを使用して、都道府県と市区町村間の3レベルの連携を実現
vue -ルータープロジェクトの実戦(詳細なチュートリアル)
以上がNodeJ のファイル システムとストリームの詳細な解釈の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
var fs = require("fs"); var data = ''; // 创建可读流 var readerStream = fs.createReadStream('input.txt'); // 设置编码为 utf8。 readerStream.setEncoding('UTF8'); // 处理流事件 --> data, end, and error readerStream.on('data', function(chunk) { data += chunk; }); readerStream.on('end',function(){ console.log(data); }); readerStream.on('error', function(err){ console.log(err.stack); }); console.log("程序执行完毕");

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









nvm でノードを削除する方法: 1. 「nvm-setup.zip」をダウンロードして C ドライブにインストールします; 2. 「nvm -v」コマンドで環境変数を構成し、バージョン番号を確認します; 3. 「nvm」を使用しますinstall" コマンド ノードのインストール; 4. "nvm uninstall" コマンドでインストールしたノードを削除します。

ファイルのアップロードをどのように処理するか?次の記事では、Express を使用してノード プロジェクトでファイルのアップロードを処理する方法を紹介します。

この記事では、Node のプロセス管理ツール「pm2」について説明し、pm2 が必要な理由、pm2 のインストール方法と使用方法について説明します。皆様のお役に立てれば幸いです。

ピン張りのノードの詳細な説明とインストールガイドこの記事では、ピネットワークのエコシステムを詳細に紹介します - PIノードは、ピン系生態系における重要な役割であり、設置と構成の完全な手順を提供します。 Pinetworkブロックチェーンテストネットワークの発売後、PIノードは多くの先駆者の重要な部分になり、テストに積極的に参加し、今後のメインネットワークリリースの準備をしています。まだピン張りのものがわからない場合は、ピコインとは何かを参照してください。リストの価格はいくらですか? PIの使用、マイニング、セキュリティ分析。パインワークとは何ですか?ピン競技プロジェクトは2019年に開始され、独占的な暗号通貨PIコインを所有しています。このプロジェクトは、誰もが参加できるものを作成することを目指しています

ストリーム操作は Java8 のハイライトです。 java.util.stream は非常に強力ですが、実際の作業ではほとんど使用していない開発者がまだ多くいます。最も不満の理由の 1 つは、デバッグが難しいということです。実際、最初の頃はそうでした。 as stream は DEBUG では使用できません 1 行のコードだと、実際には次のステップになると多くの操作が一度に渡されるため、どの行に問題があるのか判断するのが困難です。プラグイン: JavaStreamDebugger 使用している IDEA バージョンが比較的新しい場合、このプラグインはすでに含まれているため、インストールする必要はありません。まだインストールされていない場合は、手動でインストールしてから以下に進みます。

「node-gyp.js」が「Node.js」のバージョンと一致しないため、npm node gyp が失敗します。解決策は次のとおりです: 1. 「npm cache clean -f」を使用してノード キャッシュをクリアします; 2. 「npm install -」を使用します。 g n" n モジュールをインストールします。 3. 「n v12.21.0」コマンドを使用して、「node v12.21.0」バージョンをインストールします。

認証は、Web アプリケーションの最も重要な部分の 1 つです。このチュートリアルでは、トークンベースの認証システムと、それが従来のログイン システムとどのように異なるかについて説明します。このチュートリアルを終えると、Angular と Node.js で書かれた完全に動作するデモが表示されます。従来の認証システム トークンベースの認証システムに進む前に、従来の認証システムを見てみましょう。ユーザーはログイン フォームにユーザー名とパスワードを入力し、[ログイン] をクリックします。リクエストを行った後、データベースにクエリを実行してバックエンドでユーザーを認証します。リクエストが有効な場合、データベースから取得したユーザー情報を使用してセッションが作成され、セッション情報が応答ヘッダーで返され、セッション ID がブラウザに保存されます。対象となるアプリケーションへのアクセスを提供します。

シングルサインオンシステムとは何ですか? Nodejsを使用して実装するにはどうすればよいですか?次の記事ではnodeを使ってシングルサインオンシステムを実現する方法を紹介しますので、参考になれば幸いです。
