Node.js でファイル システムを操作するための基本ガイド

Node.js でファイル システムを操作するための基本ガイド

Node.js の組み込み機能の 1 つは、fs モジュールを使用したオペレーティング システムのファイル システムの操作です。この Node.js モジュールには、ファイルとディレクトリを操作するための便利な関数が多数含まれています。





ファイルは単に永続オブジェクトまたはデータのチャンクと呼ばれ、通常はディスクまたはメモリと呼ばれるハード メディアに格納されます。ファイルには、テキスト ファイルから画像ファイル、オーディオ ファイルなど、さまざまな種類があります。





今日のメイク動画

では、ファイル システムとは何ですか? また、Node.js でオペレーティング システムのファイル システムと簡単にやり取りするにはどうすればよいでしょうか?





最高のTheTinderピックアップライン2018

ファイル システムとは

ファイル システムは、オペレーティング システムがファイルを識別、整理、保存、およびアクセスする方法と、その他の操作を定義します。

オペレーティング システムのファイル システムは、ディレクトリまたはフォルダーと呼ばれるコレクションにファイルをグループ化する役割も果たします。通常のファイルとディレクトリは、ファイル システムの最も一般的な部分であり、他の多くのファイルと頻繁にやり取りされます。



Facebookでブロックした人を確認する方法

ファイル システムの例には、New Technology File System (NTFS)、UNIX File System (UFS)、Hierarchical File System (HFS) などがあります。

Node.js fs モジュールとは?

Node.js fs module は、Node.js が提供する組み込みライブラリで、Node.js をサポートするオペレーティング システムのファイル システムを操作します。の fs モジュールは簡単にアクセスでき、次のようなファイル操作の頼りになるライブラリです ファイルからの読み取り また Node.js でファイルにデータを書き込む .





これは非常に一般的に使用されます あなた ファイルに対してさまざまな操作を実行するためのモジュール。を使用するには fs モジュールをプログラムに追加すると、次のコードに示すようにソース コードにインポートできます。

PS4でゲームを返金できますか
// CommonJS 
const fs = require('fs')

// ES6
import fs from 'fs'

Node.js パス モジュールとは?

Node.jsを使用できます ファイルパスを操作するモジュール。ファイルとディレクトリのパスを簡単に操作するためのユーティリティが含まれています。を使用して fs タスクを完了するためにモジュールを並行して使用することは、標準的な方法です。これは、 fs モジュール関数は、機能するターゲット ファイルまたはディレクトリへのパスに依存します。





をインポートできます。 以下の構文を使用してコードにモジュールを追加します。

// CommonJS 
const path = require('path')

// ES6
import path from 'path'

Node.js でファイル システムにアクセスするための一般的な関数

最も一般的に使用される Node.js は次のとおりです。 fs モジュール関数、およびそれらを使用してファイルやディレクトリと対話する方法。

パスの操作

  1. パス.解決: これは、パラメータとして渡されたパス命令のリストからパスを解決する関数です。例:
    path.resolve('home', 'projects', 'web'); 
    // returns <path_to_current_directory>/home/projects/web

    path.resolve('home/projects/web', '../mobile');
    // returns <path_to_current_directory>/home/projects/mobile
  2. パス.正規化: ノーマライズ 関数は、指定された入力パスから正しい正規化されたパスを返します。例:
    path.normalize('home/projects/web/../mobile/./code'); 
    // returns home/projects/mobile/code
  3. パス.結合: この関数は、複数のセグメントからパスを構築します。例:
    path.join('home', 'projects', '../', 'movies'); 
    // returns home/movies
  4. パス.ベース名: basename 関数は、最終パス セグメントを返します。 2 つの方法で使用できます:
    path.basename('home/projects/web/index.js'); 
    // returns index.js

    path.basename('home/projects/web/index.js', '.js');
    // removes the extension and returns 'index'
  5. パス.ディレクトリ名: この関数は、指定されたパスの最後のディレクトリへのパスを返します。例:
    path.dirname('home/projects/web/index.js'); 
    // returns home/projects/web
  6. path.extname: この関数を使用すると、指定したパスからファイルの拡張子を取得できます。
    path.extname('home/projects/web/index.js'); 
    // returns '.js'

ファイルの開閉

  1. fs.open: Node.jsでファイルを同期的に開いたり作成したりする機能です。の同期形式 fs.open fs.openSync . fs.open a ファイル パス、フラグ、オープン モード、およびコールバック関数の 4 つの引数を受け入れます。 フラグ 開いた モード にはデフォルト値があり、詳細については、 Node.js fs.open documentation.
    const filePath = path.join(__dirname, '/videos/newVideo.mp4'); 
    // __dirname returns the path to the current working directory.
    // filePath = <path_to_current_directory>/videos/newVideo.mp4

    fs.open(filePath, (error, fileDescriptor) => {
    // handle errors
    console.log(fileDescriptor); // prints an integer representing the file descriptor
    })
  2. fs.close: 開いているファイルが不要になったら、常に閉じることをお勧めします。 Node.js には、 fs.close この関数:
    fs.open(filePath, (error, fileDescriptor) => { 
    // handle errors, such as 'file/directory does not exist'
    console.log(fileDescriptor);

    // close the file
    fs.close(fileDescriptor, (error) => {
    // handle errors
    console.log('File closed successfully');
    });
    })

作成と削除

  1. fs.mkdir: これは、 mkdir 新しいディレクトリを作成する端末コマンド。パス、モード (オプション)、およびコールバック関数をパラメーターとして受け取ります。次のように使用できます:
    const dirPath = path.join(__dirname, 'newDirectory'); 
    fs.mkdir(dirPath, (error) => {
    // handle errors
    console.log('New directory created successfully');
    });
  2. fs.unlink: この関数は、引数として渡されたパスにあるファイルを削除または削除します。以下のコード例を検討してください:
    const filePath = path.join(_dirname, 'oldFile.js'); 

    fs.unlink(filePath, (error) => {
    // handle errors
    console.log('File has been deleted successfully');
    });
  3. fs.rmdir: このメソッドは、指定されたパスにあるディレクトリを削除します。使い方は unlink メソッドとよく似ています:
    const dirPath = path.resolve('home', 'projects', 'web'); 

    fs.rmdir(dirPath, (error) => {
    // handle errors
    console.log('Directory successfully deleted');
    })

ファイル メタデータ

  1. fs.exists: 存在する メソッドは、指定されたパスにファイルが存在するかどうかを確認します。実装は次のとおりです。
    let filePath = path.join(__dirname, 'index.html'); 

    fs.exists(filePath, (exists) => {
    console.log(exists) // true or false
    })
  2. fs.stat: これは、ファイルのプロパティを返す同期関数です。を返します。 fs.Stats ファイルのプロパティにアクセスするためのいくつかのメソッドを公開するオブジェクト。ここに例があります:
    fs.stat('index.js', (error, stats) => { 
    console.log(stats); // prints low level properties of the file
    stats.isFile(); // returns true
    stats.isDirectory(); // returns false
    })