Node.js-ファイルシステムの一般的な機能

ファイルシステム

ノードは、標準のPOSIX関数と単純なパッケージングを使用してファイルI / Oを実装します

ファイルシステムモジュール(fs)構文のインポート:

var fs = require("fs")
1.非同期、同期
  • Node.jsファイルシステム(fsモジュール)モジュールのメソッドには异步和同步バージョンがあります

  • 非同期方式は前后端处理不需要相互等待

  • 回调:イベントがトリガーされた後に実行します。これは非同期の同等の機能です。

  • 非同期メソッド関数の最後のパラメーターはコールバック関数であり、コールバック関数の最初のパラメーターにはエラーメッセージ(エラー)が含まれています。

  • 非同期方式を使用することをお勧めします。非同期方式は、同期方式と比較して、パフォーマンスが高く、速度が速く、ブロッキングがありません。

2.ファイルモジュールの一般的に使用される機能:
  1. ファイルを読む:
  • 非同期でファイルを読み取る(非ブロッキングモード) readFile()
fs.readFile(filename,function(err,buffer)){
    
    
	if(err) throw err;
	process(buffer)
}
//参数解释:
//filename->文件路径
//err->存放文件读取错误时的错误信息
//buffer->存放读出的信息
  • ファイルを同期的に読み取り、文字列を返します(ブロッキングモード)readFileSync()
var text=fs.readFileSync(filename,'utf8');
  1. ファイルを開く:open()
fs.open(path,flags[,mode],callback)
//参数解释:
//path -文件名,包括路径
//flags -打开方式
//mode -设置文件模式(权限),文件创建默认权限为 0666(可读,可写)。
//callback -回调函数,带有两个参数如:callback(err, fd)。
  1. ファイル情報を取得します。stat()
fs.stat(path, callback)
//参数说明:
// path - 文件路径。
// callback - 回调函数,带有两个参数如:(err, stats), stats 是 fs.Stats 对象。

  1. ファイルを書き込む
  • 非同期(ファイルがすでに存在する場合は上書きされます)
fs.writeFile(file, data[, options], callback)
//参数说明:
// file - 文件名或文件描述符。
// data - 要写入文件的数据,可以是 String(字符串) 或 Buffer(缓冲) 对象。
// options - 该参数是一个对象,包含 {encoding, mode, flag}。默认编码为 utf8, 模式为 0666 , flag 为 'w'
// callback - 回调函数,回调函数只包含错误信息参数(err),在写入失败时返回。

  • 同期する
fs.writeFileSync(filename,data[,options])
  1. ファイルの読み取り(バイナリモード、バイト単位での読み取り)
fs.read(fd, buffer, offset, length, position, callback)
//参数说明:
//fd - 通过 fs.open() 方法返回的文件描述符。
// buffer - 数据写入的缓冲区。
// offset - 缓冲区写入的写入偏移量。
// length - 要从文件中读取的字节数。
// position - 文件读取的起始位置,如果 position 的值为 null,则会从当前文件指针的位置读取。
// callback - 回调函数,有三个参数err, bytesRead, buffer,err 为错误信息, bytesRead 表示读取的字节数,buffer 为缓冲区对象。

  1. ファイルを閉じる
fs.close(fd, callback)
//参数说明:
// fd - 通过 fs.open() 方法返回的文件描述符。
// callback - 回调函数,没有参数。

  1. ファイルをコピーする
fs.copyFile(originalpath,targetpath,callback)
//originalpath -源文件
//targetpath -目标文件
  1. コンテンツを追加します(ファイルの最後にコンテンツを追加します。ファイルが存在しない場合は、ファイルを作成します)
fs.appendFile(filename,content,callback)
  1. ファイルを削除する
fs.unlink(path, callback)
  1. ファイルの名前変更
fs.rename(oldPath, newPath, callback)
//异步 rename().回调函数没有参数,但可能抛出异常。
  1. ディレクトリを作成する
fs.mkdir(path[, options], callback)
//参数说明:
// path - 文件路径。
// options 参数可以是:recursive - 是否以递归的方式创建目录,默认为 false;mode - 设置目录权限,默认为 0777。
// callback - 回调函数,没有参数。

  1. ディレクトリの読み取り
fs.readdir(path, callback)
//callback - 回调函数,回调函数带有两个参数err, files,err 为错误信息,files 为 目录下的文件数组列表。
  1. ディレクトリを削除する
fs.rmdir(path, callback)
//callback回调函数,没有参数

おすすめ

転載: blog.csdn.net/isfor_you/article/details/113945162