ホームページ  >  記事  >  ウェブフロントエンド  >  Node.jsでのファイル書き込みについての話

Node.jsでのファイル書き込みについての話

青灯夜游
青灯夜游転載
2020-12-04 17:57:538010ブラウズ

この記事では、Node.js でのファイルの書き込みについて紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。

Node.jsでのファイル書き込みについての話

関連する推奨事項: 「node js チュートリアル

ファイルを読み取ってから、ファイル書き込み 、2 つの操作はほぼ 1 対 1 に対応します

fs.writeFile

fs.writeFile(file, data[, options], callback)

  • file: ファイル名またはファイル記述子

  • data: 最も一般的に使用されるのは文字列とバッファです

  • callback(err)

file がファイル名の場合、データをファイルに非同期で書き込みます。ファイルが既に存在する場合は、 ファイルの内容を上書きします

const fs = require('fs');

const data = Buffer.from('Hello, Node.js');
fs.writeFile('./test.txt', data, err => {
  if (err) throw err;
  console.log('文件已被保存');
});

fs.write

fs.write には 2 つのオーバーロードがあります

  • fs.write(fd,buffer [, offset[ , length[,position]]], callback): パラメータの意味は fs.read

  • fs.write(fd, string[,position[ 、エンコーディング]]、コールバック) : 文字列の内容全体のみをファイルに書き込むことができます

両者の違いは、バッファを使用すると offset ~ の内容を書き込むことができることです。バッファ内の長さ offset ですが、文字列を使用すると、文字列の内容全体をファイル

const fs = require('fs');

const data1 = Buffer.from('Hello, Node.js');
const data2 = 'Hello, Node.js';

const fd = fs.openSync('./test.txt', 'w');
console.log(fd)

fs.write(fd, data1, err => {
  if (err) throw err;
  console.log('data1 已被写入');
});

fs.write(fd, data2, err => {
  if (err) throw err;
  console.log('data2 已被写入');
});

setTimeout(() => {
  fs.close(fd, console.log);
}, 100);

fs.appendFile

fs.appendFile(path, data[, options], callback) ファイルの末尾にデータが追加されます。ファイルが存在しない場合は、ファイルが作成されます。

const fs = require('fs/promises');

const data1 = Buffer.from('Hello,');
const data2 = Buffer.from(' Node.js');

fs.appendFile('./test.txt', data1)
  .then(() => {
    fs.appendFile('./test.txt', data2);
    console.log('文件内容追加完成');
  });

fs.createWriteStream

fs .createWriteStream(path[, options]) 書き込み可能なファイル ストリームの作成に使用され、オプションは fs.createReadStream
options とほぼ同じです (より一般的に使用されるものは次のとおりです)

  • fd: デフォルト値は null です。fd が指定されている場合、パス パラメータは無視され、指定されたファイル記述子を使用します (open イベントは再度トリガーされません)
  • #mode: デフォルト値 0o666
  • autoClose: デフォルト値: true、「エラー」または「終了」イベントが発生すると、ファイルの説明シンボルが自動的に閉じられます
  • start: ファイルへの書き込みが開始される位置、デフォルトの上書きなしis set
読み取り可能なストリームの内容を書き込み可能なストリームに書き込むのは非常に簡単です

const fs = require('fs');

fs.createReadStream('./test.txt')
  .pipe(fs.createWriteStream('./copy.txt'));
ストリームの概要とその他の使用法については、バッファーとストリームの章で詳しく説明します。

プログラミング関連の知識について詳しくは、

プログラミング教育をご覧ください。 !

以上がNode.jsでのファイル書き込みについての話の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。