ホームページ  >  記事  >  ウェブフロントエンド  >  ノードの fs モジュールと path モジュールについて話しましょう

ノードの fs モジュールと path モジュールについて話しましょう

青灯夜游
青灯夜游転載
2022-04-24 21:00:452363ブラウズ

この記事では、node の fs ファイル システム モジュールとパス モジュールについて説明します。お役に立てば幸いです。

ノードの fs モジュールと path モジュールについて話しましょう

fs ファイル システム モジュール

fs モジュールは Node.js によって公式に提供されており、次の用途に使用されます。操作ファイルモジュール。ユーザーのファイル操作のニーズを満たす一連のメソッドとプロパティを提供します。

  • fs.readFile() メソッドは、指定されたファイルのコンテンツを読み取るために使用されます
  • fs.writeFile() メソッドは、指定されたファイルにコンテンツを書き込むために使用されます。 want JavaScript コードで、fs モジュールを使用してファイルを操作する場合、次のように最初にファイルをインポートする必要があります。
 const fs = reuire('fs')

指定されたファイルの内容を読み取ります

1. fs.readFile()の構文形式

fs.readFile()メソッドを使用すると、指定したファイルの内容を読み取ることができます。構文形式は次のとおりです:

 fs.readFile(path[, options], callback)
  • パラメータ 1: 必須パラメータ。読み取るファイルに対応するパスを示すファイル パスの文字列を指定する必要があります。
  • パラメータ 2: ファイルを読み取るエンコード形式を示すオプションのパラメータ。
  • パラメータ 3: 必須パラメータ ファイルの読み込みが完了すると、コールバック関数を通じて読み込み結果が取得されます。

2. fs.readFile()のサンプルコード

指定されたファイルの内容をutf8形式で読み込み、errの値を出力しますand data :

 const fs = require('fs');
 fs.readFile('hello.txt', 'utf-8', (err, data) => {
     // 判断是否读取成功
     if (err) return console.log(err);
     console.log(data); 
 });

指定されたファイルにコンテンツを書き込みます

##1. fs.writeFile()の構文形式

fs.writeFile() メソッドを使用して、指定されたファイルにコンテンツを書き込みます。構文形式は次のとおりです:

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

    パラメータ 1: 必須パラメータ。ファイルを指定する必要があります。 path ファイルのストレージ パスを表す文字列。
  • パラメータ 2: 書き込まれる内容を示す必須パラメータ。
  • パラメータ 3: ファイルの内容を書き込む形式を示すオプションのパラメータ。デフォルト値は utf8 です。
  • パラメータ 4: 必須パラメータ、ファイル書き込み完了後のコールバック関数。

2. fs.writeFile() のサンプル コード

 const fs = require('fs');
 fs.writeFile('./hello.txt', 'hello node', (err) => {
     // 判断是否写入成功
     if (err) return console.log(err);
     console.log('写入成功');
 });

指定されたディレクトリ内のすべてのファイルの名前を読み取ります

1. fs.readdir() の構文形式

#fs.readdir() メソッドを使用すると、すべてのファイルの名前を読み取ることができます構文形式は次のとおりです:

 fs.readdir(path[, options], callback)

    パラメータ 1: 読み取るディレクトリ内のファイル名リストを示す必須パラメータ。
  • パラメータ 2: ディレクトリ内のファイル名をどの形式で読み取るかというオプションのパラメータ。デフォルト値は utf8 です。
  • パラメータ 3: 必須パラメータ、読み取り完了後のコールバック関数。

2. fs.readdir() のサンプルコード

fs.readdir() メソッドを使用すると、ファイル内のすべてのファイルの名前を読み取ることができます。指定されたディレクトリ:

 const fs = require('fs');
 fs.readdir('./', (err, data) => {
     // 错误处理
     if (err) return console.log(err);
     console.log(data);
 });

fs モジュール パスの動的スプライシングの問題

fs モジュールを使用してファイルを操作する場合、指定された操作パスが開始されると、相対パスが / または ../ で始まる場合、動的パスのスプライシング エラーが発生しやすくなります。これは、コードの実行時に、操作中のファイルのフルパスがノードコマンドが実行されるディレクトリから動的に接続されるためです。

解決策: fs モジュールを使用してファイルを操作する場合は、動的なパスのスプライシングの問題を防ぐために、./ または ../ で始まる相対パスではなく絶対パスを直接指定します。

注: 現在のファイルの絶対パスを取得するには、__dirname を使用します。

 const fs = require('fs');
 // 拼接要读取文件的绝对路径
 let filepath = __dirname +'/hello.txt'
 fs.readFile(filepath, 'utf-8', (err, data) => {
     // 判断是否读取成功
     if (err) return console.log(err);
     console.log(data); 
 });

path path module

path モジュールは、Node.js によって正式に提供されます。 . パスを処理するためのモジュール。これは、パス処理に対するユーザーのニーズを満たす一連のメソッドと属性を提供します。

    path.join() メソッド。複数のパス フラグメントを結合して完全なパス文字列にするために使用されます。
  • path.basename() メソッド。パス文字列からパスを抽出するために使用されます。ファイル名を解析して出力します。
パス モジュールを使用して JavaScript コード内のパスを処理する場合は、最初に次の方法でモジュールをインポートする必要があります:

 const path = require('path')

パスのスプライシング

path.join()の構文形式

複数のパスを結合するには、path.join()メソッドを使用します。フラグメントは完全なパス文字列に結合されます。構文形式は次のとおりです:

 path.join([...paths])

path.join() メソッドを使用して、複数のパス フラグメントを完全なパス文字列に結合します:

 const path = require('path');
 console.log( path.join('a', 'b', 'c') ); // a/b/c
 console.log( path.join('a', '/b/', 'c') ); // a/b/c
 console.log( path.join('a', '/b/', 'c', 'index.html') ); // a/b/c/index.html
 console.log( path.join('a', 'b', '../c', 'index.html') ); // a/c/index.html
 console.log(__dirname); // node自带的全局变量,表示当前js文件所在的绝对路径
 // 拼接成绩.txt的绝对路径
 console.log( path.join(__dirname, '成绩.txt') ); // ------ 最常用的

パス内のファイル名を取得します

1. path.basename()

の構文形式path.basename( ) メソッドを使用すると、パスの最後の部分を取得できます。このメソッドは、パス内のファイル名を取得するためによく使用されます。構文形式は次のとおりです:

 path.basename(path[,ext])

  • path  必选参数,表示一个路径的字符串
  • ext  可选参数,表示可选的文件扩展名
  • 返回:  表示路径中的最后一部分

2.path.basename()的代码示例

使用 path.basename() 方法,可以从一个文件路径中,获取到文件的名称部分:

 // 找文件名
 console.log( path.basename('index.html') ); // index.html
 console.log( path.basename('a/b/c/index.html') ); // index.html
 console.log( path.basename('a/b/c/index.html?id=3') ); // index.html?id=3
 console.log(path.basename('/api/getbooks')) // getbooks

获取路径中的文件扩展名

1.path.extname()的语法格式

使用 path.extname() 方法,可以获取路径中的扩展名部分,语法格式如下:

 path.extname(path)
  • path 必选参数,表示一个路径的字符串
  • 返回:  返回得到的扩展名字符串

使用 path.extname() 方法,可以获取路径中的扩展名部分

 // 找字符串中,最后一个点及之后的字符
 console.log( path.extname('index.html') ); // .html
 console.log( path.extname('a.b.c.d.html') ); // .html
 console.log( path.extname('asdfas/asdfa/a.b.c.d.html') ); // .html
 console.log( path.extname('adf.adsf') ); // .adsf

原文地址:https://juejin.cn/post/7088650568150810638

作者:L同学啦啦啦

更多node相关知识,请访问:nodejs 教程

以上がノードの fs モジュールと path モジュールについて話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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