メソッド説明:
(ファイル記述子によると)ファイルに書き込み、関数はfs.writefile()に似ていますが、この方法はより基礎となる操作を提供します。実際のアプリケーションで複数のfs.writefile()を使用することをお勧めします。
この方法には2つの形式があります。
1。Fs.Write(FD、バッファ、オフセット、長さ[、位置]、[コールバック(err、byteswritten、バッファ)))))
この書き込み方法は、ファイルにバッファーを書き込みます(ファイル記述子FDに従ってファイルを見つけます)。
2。fs.write(fd、data [、position [、encoding]]、[callback(err、writde、string)]))
この書き込み方法は、ファイルにデータを書き込みます(ファイル記述子FDに従ってファイルを見つけます)。データがバッファのインスタンス値でない場合、文字列にキャストされます。
文法:
コードコピーは次のとおりです。
fs.write(fd、buffer、offset、length [、position]、[callback(err、byteswritten、buffer)])))
fs.write(fd、data [、position [、encoding]]、[callback(err、writde、string)]))
この方法はFSモジュールに属しているため、使用前にFSモジュールを導入する必要があります(var fs = require( "fs"))
パラメーターを受信:
FDファイル記述子。
バッファー、データが記述されます。バッファサイズの設定は8の倍数であり、より効率的です。
オフセット書き込みをオフセットバッファー
長さ(整数)ファイルの長さを読み取るバイトを指定します
位置(整数)ファイル読み取りの開始位置を指定します。このアイテムの場合、データは現在のファイルポインターの位置から読み取られます。
コールバックは、ERR、BytesRead、およびバッファーの3つのパラメーターを渡します
・ERR例外
bytesRead:読み取られたバイト数
・バッファ:バッファオブジェクト
2番目のフォーム:
エンコーディング文字エンコーディング
折り返し電話
・ERR例外
cortherファイルに書き込まれる文字の数を指定します。
・文字列返品バッファー
例:
コードコピーは次のとおりです。
//fs.write(fd、buffer、offset、length [、position]、[callback(err、byteswritten、buffer)])))
//実行結果:byteswritten = 8、バッファー= <バッファー00 00 00 01 00 00 00>
var fs = require( 'fs');
fs.open( 'content.txt'、 'a'、function(err、fd){
if(err){
エラーを投げます。
}
var data = '123123123 Hello World';
var buf = new Buffer(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、data [、position [、encoding]]、[callback(err、writde、string)])))
//実行結果:書面= 21、String = <バッファ31 32 33 31 32 33 31 32 33 20 68 65 6C 6C 6F 20 77 BF 72 6C 64>
var fs = require( 'fs');
fs.open( 'content.txt'、 'a'、function(err、fd){
if(err){
エラーを投げます。
}
var data = '123123123 Hello World';
fs.write(fd、data、0、 'utf-8'、function(err、writed、string){
if(err){
エラーを投げます。
}
console.log(writeten);
console.log(string);
fs.close(fd、function(err){
if(err){
エラーを投げます。
}
console.log( 'ファイル閉じた');
})
})
})
ソースコード:
コードコピーは次のとおりです。
// 使用法:
// fs.write(fd、バッファー、オフセット、長さ[、位置]、コールバック);
// または
// fs.write(fd、string [、position [、encoding]]、callback);
fs.write = function(fd、buffer、offset、length、position、callback){
if(util.isbuffer(buffer)){
//位置が通過しない場合は、nullを想定します
if(util.isfunction(position)){
callback = position;
位置= null;
}
callback = maybecallback(callback);
var wrapper = function(err、writde){
//バッファーへの参照を保持して、すぐにGC'を使用できないようにします。
callback(err、writed || 0、buffer);
};
return binding.writebuffer(FD、バッファ、オフセット、長さ、位置、ラッパー);
}
if(util.isstring(バッファー))
バッファー += '';
if(!util.isfunction(position)){
if(util.isfunction(offset)){
位置= offset;
offset = null;
} それ以外 {
位置=長さ;
}
length = 'utf8';
}
callback = maybecallback(position);
position = function(err、writed){
//外部の場合の文字列への参照を保持します
callback(err、writed || 0、buffer);
};
return binding.writestring(fd、buffer、offset、length、position);
};