目次
パラメータ 1: 必須パラメータ。ファイルの保存パスを示すファイル パスの文字列を指定する必要があります。 パラメータ 2: 書き込む内容を示す必須パラメータです。" > パラメータ 1: 必須パラメータ。ファイルの保存パスを示すファイル パスの文字列を指定する必要があります。 パラメータ 2: 書き込む内容を示す必須パラメータです。
変換前の成績形式" >変換前の成績形式
二、path 路径模块" >二、path 路径模块
1、path.join() 路径拼接" >1、path.join() 路径拼接
2、path.basename() 解析文件名" >2、path.basename() 解析文件名
3、path.extname() 获取扩展名" >3、path.extname() 获取扩展名
ホームページ ウェブフロントエンド jsチュートリアル Nodeのfsファイルモジュールとパスモジュールについて語る記事(事例分析)

Nodeのfsファイルモジュールとパスモジュールについて語る記事(事例分析)

Nov 18, 2022 pm 08:36 PM
nodejs​ node.js node

この記事では、ファイルの読み書きとパスの処理を例に、Node の fs ファイル モジュールとパス モジュールについて説明します。

Nodeのfsファイルモジュールとパスモジュールについて語る記事(事例分析)

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

fs モジュール は Node. js ファイル操作用に公式に提供されたモジュール。ファイル操作のユーザー要件を満たす一連のメソッドとプロパティを提供します。 [関連チュートリアルの推奨事項: nodejs ビデオ チュートリアル ]

1. 指定されたファイルを読み取ります

##fs.readFile (): 指定されたファイルの内容を読み取ります。

パラメータ 1: ファイルのパスを示す必須パラメータ、文字列です。

パラメータ 2: エンコーディング形式を示すオプションのパラメータです。ファイルの読み取り
パラメータ 3: 必須パラメータ ファイルの読み取りが完了すると、コールバック関数を通じて読み取り結果が取得されます

fs.readFile(path, [options], callback)
ログイン後にコピー

例 1: デモを読み取ります。 txt ファイル

Nodeのfsファイルモジュールとパスモジュールについて語る記事(事例分析)##demo.txt ファイル

##
'前端杂货铺'
ログイン後にコピー

#app.js ファイル

// 导入 fs 文件系统模块
const fs = require('fs')

// 读取文件 utf-8 为中文编码格式
fs.readFile('../files/demo.txt', 'utf-8', function (err, data) {
    console.log('err:', err)
    console.log('data:', data)
})
ログイン後にコピー

注: 間違ったパスを記述した場合、つまりファイルの読み取りに失敗した場合、出力される内容は次のようになります [err はエラー オブジェクト、データは未定義]

Nodeのfsファイルモジュールとパスモジュールについて語る記事(事例分析)

例 2:demo.txt ファイルの読み取りが成功したかどうかを確認しますNodeのfsファイルモジュールとパスモジュールについて語る記事(事例分析)

app.js ファイル

#意図的に間違ったパス、読み取りに失敗しました#失敗の結果は次のとおりです#

// 导入 fs 模块
const fs = require('fs')

// 读取文件
fs.readFile('../files/demo1.txt', 'utf-8', function (err, data) {
    if(err) {
        return console.log('读取文件失败', err.message)
    }
    console.log('data:', data)
})
ログイン後にコピー

2. 指定したファイルを書き込みます

Nodeのfsファイルモジュールとパスモジュールについて語る記事(事例分析)

#fs.writeFile(): 指定したファイルにコンテンツを書き込みます

パラメータ 1: 必須パラメータ。ファイルの保存パスを示すファイル パスの文字列を指定する必要があります。 パラメータ 2: 書き込む内容を示す必須パラメータです。

パラメータ3: はい ファイルの内容が書き込まれる形式を示すパラメータを選択します。デフォルトは utf-8です。

パラメータ 4: 必須パラメータ、ファイル書き込み完了後のコールバック関数

fs.writeFile(file, data, [options], callback)
ログイン後にコピー

例 1:demo.txt ファイルの作成


##demo.txt ファイル

// 该文件内容为空
ログイン後にコピー

app.js ファイル

Nodeのfsファイルモジュールとパスモジュールについて語る記事(事例分析)

// 导入 fs 文件系统模块
const fs = require('fs')

// 写入文件内容
fs.writeFile('../files/demo.txt', '这里是前端杂货铺', function(err, data) {
    if (err) {
        return console.log('写入文件失败', err.message)
    }
    console.log('文件写入成功')
})
ログイン後にコピー

注: 存在しないディスクに書き込む場合、ファイルの書き込みは失敗し、印刷内容は以下の通りです

Nodeのfsファイルモジュールとパスモジュールについて語る記事(事例分析)

3. 結果の整理事例

Nodeのfsファイルモジュールとパスモジュールについて語る記事(事例分析)#例: 結果の形式変換

変換前の成績形式

変換後の成績形式

Nodeのfsファイルモジュールとパスモジュールについて語る記事(事例分析)ファイル形式は次のとおりです

#score.txt ファイルNodeのfsファイルモジュールとパスモジュールについて語る記事(事例分析)
スコアのコンテンツを書き込みます

杂货铺=100 张三=98 李四=95 王五=92
ログイン後にコピー
Nodeのfsファイルモジュールとパスモジュールについて語る記事(事例分析)

app.js ファイル

必要な fs ファイル モジュールをインポートします
  • fs.readFile()メソッドを使用して、素材ディレクトリ内のscore.txtファイルを読み取ります
ファイルの読み取りが失敗したかどうかを判断します

ファイルの読み取りが成功したら、スコアを処理しますdata

完成したスコア データが処理されます。fs.writeFile() メソッドを呼び出して、新しいファイル newScore.txt
  • // 导入 fs 文件系统模块
    const fs = require('fs')
    
    // 写入文件内容
    fs.readFile('../files/score.txt', 'utf-8', function (err, data) {
        // 判断是否读取成功
        if (err) {
            return console.log('读取文件失败' + err.message)
        }
        // 把成绩按空格进行分割
        const arrOld = data.split(' ')
        // 新数组的存放
        const arrNew = []
        // 循环分割后的数组 对每一项数据 进行字符串的替换操作
        arrOld.forEach(item => {
            arrNew.push(item.replace('=', ':'))
        })
        // 把新数组中的每一项合并 得到新的字符串
        const newStr = arrNew.join('\r\n')
    
        // 写入新数据
        fs.writeFile('../files/newScore.txt', newStr, function (err) {
            if (err) {
                return console.log('写入成绩失败' + err.message)
            }
            console.log('成绩写入成功')
        })
    })
    ログイン後にコピー
  • ## に書き込みます
  • #4. 処理パス

Nodeのfsファイルモジュールとパスモジュールについて語る記事(事例分析)__dirname: 現在のファイルが配置されているディレクトリを示します

Nodeのfsファイルモジュールとパスモジュールについて語る記事(事例分析)例: 相対パスの記述

const fs = require('fs')

fs.readFile('../files/score.txt', 'utf-8', function(err, data) {
    if (err) {
        return console.log('文件读取失败' + err.message)
    }
    console.log('文件读取成功')
})
ログイン後にコピー

Nodeのfsファイルモジュールとパスモジュールについて語る記事(事例分析)

示例:使用 __dirname

Nodeのfsファイルモジュールとパスモジュールについて語る記事(事例分析)

const fs = require('fs')

// 读取文件
fs.readFile(__dirname + '/files/score.txt', 'utf-8', function(err, data) {
    if (err) {
        return console.log('文件读取失败' + err.message)
    }
    console.log('文件读取成功')
})
ログイン後にコピー

Nodeのfsファイルモジュールとパスモジュールについて語る記事(事例分析)

二、path 路径模块

path 模块是 Node.js 官方提供的、用来处理路径的模块

1、path.join() 路径拼接

path.join():用来将多个路径判断拼接成一个完整的路径字符串

参数:…paths <string> 路径片段的序列
返回值:返回值 <string>

path.join([...paths])
ログイン後にコピー

示例:路径拼接

// 导入 path 模块
const path = require(&#39;path&#39;)
// ../ 会抵消前面的路径
const pathStr = path.join(&#39;/a&#39;,&#39;/b/c&#39;, &#39;../&#39;, &#39;./d&#39;, &#39;e&#39;)
console.log(pathStr)
ログイン後にコピー

Nodeのfsファイルモジュールとパスモジュールについて語る記事(事例分析)
备注:涉及到路径拼接的操作,都要使用 path.join() 方法进行处理。不要直接用 + 进行字符串拼接

示例:使用 path 进行路径拼接

const fs = require(&#39;fs&#39;)
const path = require(&#39;path&#39;)

// 文件读取
fs.readFile(path.join(__dirname, &#39;/files/score.txt&#39;), &#39;utf-8&#39;, function(err, data) {
    if (err) {
        return console.log(&#39;文件读取失败&#39;, err.message)
    }
    console.log(&#39;文件读取成功&#39;)
})
ログイン後にコピー

Nodeのfsファイルモジュールとパスモジュールについて語る記事(事例分析)

2、path.basename() 解析文件名

path.basename():用来从路径字符串中,将文件名解析出来

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

path.basename(path, [ext])
ログイン後にコピー

示例:解析路径,去除扩展名

// 导入 path 模块
const path = require(&#39;path&#39;)
// 文件的存放路径
const fpath = &#39;/a/b/c/index.html&#39;

// 将文件名解析出来
const fullName = path.basename(fpath)
console.log(fullName) // 输出 index.html

// 去除扩展名
const nameWithoutExt = path.basename(fpath, &#39;.html&#39;)

console.log(nameWithoutExt) // 输出 index
ログイン後にコピー

Nodeのfsファイルモジュールとパスモジュールについて語る記事(事例分析)

3、path.extname() 获取扩展名

path.extname():可以获取路径中的扩展名部分

参数:path <string> 必选参数,表示一个路径的字符串
返回值:返回 <string> 返回得到的扩展名字符串

path.extname(path)
ログイン後にコピー

示例:获取扩展名

// 导入 path 模块
const path = require(&#39;path&#39;)
// 文件的存放路径
const fpath = &#39;/a/b/c/index.html&#39;
// 获取扩展名
const fext = path.extname(fpath)

console.log(fext) // .html
ログイン後にコピー

Nodeのfsファイルモジュールとパスモジュールについて語る記事(事例分析)

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

以上がNodeのfsファイルモジュールとパスモジュールについて語る記事(事例分析)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Nodeのメモリ制御に関する記事 Nodeのメモリ制御に関する記事 Apr 26, 2023 pm 05:37 PM

ノンブロッキングおよびイベント駆動に基づいて構築されたノード サービスには、メモリ消費量が少ないという利点があり、大量のネットワーク リクエストの処理に非常に適しています。大量のリクエストを前提として、「メモリ制御」に関する問題を考慮する必要があります。 1. V8 のガベージ コレクション メカニズムとメモリ制限 Js はガベージ コレクション マシンによって制御されます

Node V8 エンジンのメモリと GC の詳細な図による説明 Node V8 エンジンのメモリと GC の詳細な図による説明 Mar 29, 2023 pm 06:02 PM

この記事では、NodeJS V8 エンジンのメモリとガベージ コレクター (GC) について詳しく説明します。

Express を使用してノード プロジェクトでファイルのアップロードを処理する方法 Express を使用してノード プロジェクトでファイルのアップロードを処理する方法 Mar 28, 2023 pm 07:28 PM

ファイルのアップロードをどのように処理するか?次の記事では、Express を使用してノード プロジェクトでファイルのアップロードを処理する方法を紹介します。

Node の File モジュールについて詳しく説明しましょう Node の File モジュールについて詳しく説明しましょう Apr 24, 2023 pm 05:49 PM

ファイル モジュールは、ファイルの読み取り/書き込み/開く/閉じる/削除の追加など、基礎となるファイル操作をカプセル化したものです。ファイル モジュールの最大の特徴は、すべてのメソッドが **同期** と ** の 2 つのバージョンを提供することです。 asynchronous**、sync サフィックスが付いているメソッドはすべて同期メソッドであり、持たないメソッドはすべて異種メソッドです。

Nodeのプロセス管理ツール「pm2」を徹底分析 Nodeのプロセス管理ツール「pm2」を徹底分析 Apr 03, 2023 pm 06:02 PM

この記事では、Node のプロセス管理ツール「pm2」について説明し、pm2 が必要な理由、pm2 のインストール方法と使用方法について説明します。皆様のお役に立てれば幸いです。

PIノードティーチング:PIノードとは何ですか? PIノードをインストールしてセットアップする方法は? PIノードティーチング:PIノードとは何ですか? PIノードをインストールしてセットアップする方法は? Mar 05, 2025 pm 05:57 PM

ピン張りのノードの詳細な説明とインストールガイドこの記事では、ピネットワークのエコシステムを詳細に紹介します - PIノードは、ピン系生態系における重要な役割であり、設置と構成の完全な手順を提供します。 Pinetworkブロックチェーンテストネットワークの発売後、PIノードは多くの先駆者の重要な部分になり、テストに積極的に参加し、今後のメインネットワークリリースの準備をしています。まだピン張りのものがわからない場合は、ピコインとは何かを参照してください。リストの価格はいくらですか? PIの使用、マイニング、セキュリティ分析。パインワークとは何ですか?ピン競技プロジェクトは2019年に開始され、独占的な暗号通貨PIコインを所有しています。このプロジェクトは、誰もが参加できるものを作成することを目指しています

Nodeのイベントループについて話しましょう Nodeのイベントループについて話しましょう Apr 11, 2023 pm 07:08 PM

イベント ループは Node.js の基本的な部分であり、メイン スレッドがブロックされていないことを確認することで非同期プログラミングが可能になります。イベント ループを理解することは、効率的なアプリケーションを構築するために重要です。次の記事では、Node のイベント ループについて詳しく説明します。お役に立てれば幸いです。

ノードがnpmコマンドを使用できない場合はどうすればよいですか? ノードがnpmコマンドを使用できない場合はどうすればよいですか? Feb 08, 2023 am 10:09 AM

ノードが npm コマンドを使用できない理由は、環境変数が正しく設定されていないためです。解決策は次のとおりです: 1. 「システムのプロパティ」を開きます; 2. 「環境変数」->「システム変数」を見つけて、環境を編集します。変数; 3.nodejs フォルダーの場所を見つけます; 4.「OK」をクリックします。

See all articles