ホームページ >ウェブフロントエンド >jsチュートリアル >NodeJS 学習ノート FS ファイル module_node.js

NodeJS 学習ノート FS ファイル module_node.js

WBOY
WBOYオリジナル
2016-05-16 16:20:321042ブラウズ

1、分析を開始します

ファイル システム モジュールは、一連の標準 POSIX ファイル I/O 操作メソッドの単純なラッパーです。このモジュールは、require("fs") を呼び出すことで取得できます。ファイル システム モジュール内のすべてのメソッドには、非同期バージョンと同期バージョンがあります。

(1)、ファイル システム モジュールの非同期メソッドには、最後に受信する仮パラメータとして完了コールバック関数が必要です。

(2) では、コールバック関数の構成は、呼び出される非同期メソッドによって決まります。通常、コールバック関数の最初の仮パラメータは返されるエラー情報です。

(3)、非同期操作が正しく実行されて返された場合、error パラメーターは null または未定義になります。同期バージョンの操作メソッドを使用している場合、エラーが発生すると、エラーは通常のスローされたエラーの形式で返されます。

(4) では、try ステートメントと catch ステートメントを使用してエラーをインターセプトし、プログラムを続行できるようにします。

まず、ファイル ("bb.txt") を読み取る簡単な例を見てみましょう。

(1)、以下の内容(「みなさんこんにちは、のび太です!(*^__^*)ふふふ…」)のファイル「bb.txt」を作成します。

(2)、ファイルの読み取り操作は次のとおりです:

コードをコピーします コードは次のとおりです:

var fs = require("fs") ;
fs.readFile("bb.txt","utf8",function (error,data){
If(error) エラーをスローします ;
console.log(データ) ;
}) ;

実行結果:

ここで注意すべき点は、ファイルを読み取るときにエンコードを設定する必要があることです。設定しないと、デフォルトで「バッファ」の形式で表示されます。

設定なしでの走行効果を見ると、やはり違いは明らかです。以下のように:

次のように、別の書き込み操作を実行してみましょう:

コードをコピーします コードは次のとおりです:

var fs = require("fs") ;
var txt = "誰もが NodeJS をよく学ぶ必要があります ;
//ファイルを書き込みます
fs.writeFile("bb.txt",txt,function (err) {
If (err) throw err ;
console.log("ファイルが保存されました !") //ファイルが保存されました
}) ;

実行結果:

一般的に使用される例をいくつかリストします:

コードをコピーします コードは次のとおりです:

// ファイルを削除
fs.unlink('bb.txt', function(){
console.log('成功') ;
}) ;
// ファイル名を変更します
fs.rename('bb.txt','bigbear.txt',function(err){
console.log('名前変更成功') ;
});
// ファイルのステータスを確認します
fs.stat('bb.txt', function(err, stat){
console.log(stat);
});
// ファイルが存在するかどうかを判断します
fs.exists('bb.txt', function(存在する){
console.log(存在します) ;
}) ;

2. Fs と Stream 間の接続

「ストリーム」には非同期の特性があります。ファイルやコンテンツを指定したサイズの未知の「チャンク」に分割して読み取ることができ、「チャンク」が読み取られるたびに出力します。ファイルが読み取られるまで。これは、「http1.1」でサポートされている「Transfer-Encoding: chunked」に似ています。 (「チャンク」は任意の形式で存在できますが、NodeJS はデフォルトで「バッファ」の形式で存在します。これはより効率的です)。 NodeJS の「ストリーム」には、Unix システム上のスーパー機能 (「パイプ」 ------- パイプ) があります。

「HTTP モジュールの記事」の最初の NodeJS プログラム、「Hello, Big Bear!」をまだ覚えていますか?その小さなプログラムに基づいて、次のようにいくつかの変更を加えてみましょう:

(1)、「bb.html」を作成します

コードをコピー コードは次のとおりです:


<頭>