node.js_node.js の fs.write メソッドを使用する手順

WBOY
リリース: 2016-05-16 16:27:08
オリジナル
1627 人が閲覧しました

メソッドの説明:

ファイルへの書き込み (ファイル記述子による) この関数は fs.writeFile() に似ていますが、このメソッドはより低レベルの操作を提供します。実際のアプリケーションでは、より多くの fs.writeFile() を使用することをお勧めします。 。

このメソッドには 2 つの形式があります:

1. fs.write(fd, バッファ, オフセット, 長さ[, 位置], [コールバック(err, bytesWritten, バッファ)])

この書き方では、バッファをファイルに書き込みます (ファイル記述子 fd に基づいてファイルを見つけます)。

2. fs.write(fd, data[,position[, エンコーディング]], [callback(err, write, string)])

この書き込み方法では、データをファイルに書き込みます (ファイル記述子 fd に基づいてファイルを見つけます)。データがバッファ インスタンスではない場合、値は文字列にキャストされます。

文法:

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

fs.write(fd, バッファ, オフセット, 長さ[, 位置], [コールバック(err, bytesWritten, バッファ)])

fs.write(fd, データ[, 位置[, エンコーディング]], [コールバック(エラー, 書き込まれた, 文字列)])

このメソッドは fs モジュールに属しているため、使用する前に fs モジュールを導入する必要があります (var fs= require(“fs”) )

パラメータを受信します:

fd ファイル記述子。

buffer データが書き込まれるバッファー。バッファ サイズを 8 の倍数に設定すると、より効率的になります。

offset バッファに書き込まれるオフセット

length (integer) 読み取られるファイルの長さをバイト単位で指定します

position (整数) ファイル読み込みの開始位置を指定します。この項目が null の場合、現在のファイル ポインターの位置からデータが読み込まれます。

callback コールバックは 3 つのパラメータ、err、bytesRead、buffer

を渡します。

· エラー例外

· bytesRead: 読み取られたバイト数

·buffer: バッファオブジェクト

2 番目の形式:

encoding 文字エンコーディング

コールバック

· エラー例外

・write ファイルに書き込む文字数を指定します。

· 返された文字列バッファ

例:

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

//fs.write(fd, バッファ, オフセット, 長さ[, 位置], [コールバック(err, bytesWritten, バッファ)])
//実行結果: bytesWritten = 8、buffer =

var fs = require('fs');
fs.open('content.txt', 'a', function(err,fd){
if(err){
エラーをスローします;
}
var data = '123123123 hello world';
var buf = 新しいバッファ(8);
fs.write(fd, buf, 0, 8, 0, function(err, bytesWritten,buffer){
if(err){
エラーをスローします;
}
console.log(bytesWritten);
console.log(バッファ);

fs.close(fd,function(err){
if(err){
エラーをスローします;
}
console.log('ファイルが閉じられました');
})
})
})

//fs.write(fd, データ[, 位置[, エンコーディング]], [コールバック(err, 書き込まれた, 文字列)])
//実行結果: write = 21, string =
var fs = require('fs');
fs.open('content.txt', 'a', function(err,fd){
if(err){
エラーをスローします;
}
var data = '123123123 hello world';
fs.write(fd, データ, 0, 'utf-8', function(err, 書き込まれた, 文字列){
if(err){
エラーをスローします;
}
console.log(書き込み);
console.log(文字列);

fs.close(fd,function(err){
if(err){
エラーをスローします;
}
console.log('ファイルが閉じられました');
})
})
})

ソースコード:

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

// 使用法:
// fs.write(fd, バッファ, オフセット, 長さ[, 位置], コールバック);
// または
// fs.write(fd, string[,position[,coding]], callback);
fs.write = function(fd, バッファ, オフセット, 長さ, 位置, コールバック) {
  if (util.isBuffer(buffer)) {
    // 位置が渡されない場合は null
とみなされます     if (util.isFunction(position)) {
      コールバック = 位置;
      位置 = null;
    }
    callback = mightCallback(callback);
    var ラッパー = 関数(エラー、書き込まれました) {
      // すぐに GC されないように、バッファへの参照を保持します。
      callback(err、書き込まれました || 0、バッファ);
    };
    return binding.writeBuffer(fd, バッファ, オフセット, 長さ, 位置, ラッパー);
  }
  if (util.isString(buffer))
    バッファ = '';
  if (!util.isFunction(position)) {
    if (util.isFunction(offset)) {
      位置 = オフセット;
      オフセット = null;
    } else {
      位置 = 長さ;
    }
    長さ = 'utf8';
  }
  コールバック = mightCallback(位置);
  位置 = 関数(エラー、書き込まれました) {
    // 文字列が外部の場合に備えて文字列への参照を保持します
    callback(err、書き込まれました || 0、バッファ);
  };
  return binding.writeString(fd, バッファ, オフセット, 長さ, 位置);
};
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート