Heim >Web-Frontend >js-Tutorial >Ein Artikel über das fs-Dateimodul und das Pfadmodul in Node (Fallanalyse)

Ein Artikel über das fs-Dateimodul und das Pfadmodul in Node (Fallanalyse)

青灯夜游
青灯夜游nach vorne
2022-11-18 20:36:171805Durchsuche

Dieser Artikel verwendet den Fall des Lesens und Schreibens von Dateien und der Verarbeitung von Pfaden, um mehr über das fs-Dateimodul und das Pfadmodul in Node zu erfahren. Ich hoffe, dass es für alle hilfreich ist!

Ein Artikel über das fs-Dateimodul und das Pfadmodul in Node (Fallanalyse)

1. FS-Dateisystemmodul

FS-Modul ist ein Modul, das offiziell von Node.js bereitgestellt wird und zum Betreiben von Dateien verwendet wird. Es bietet eine Reihe von Methoden und Eigenschaften, um Benutzeranforderungen für Dateioperationen zu erfüllen. [Verwandte Tutorial-Empfehlungen: nodejs-Video-Tutorial]

1. Lesen Sie die angegebene Datei

fs.readFile(): Lesen Sie den Inhalt in der angegebenen Datei

Parameter 1: Erforderlicher Parameter, String , gibt den Pfad der Datei an
Parameter 2: Optionaler Parameter, der das Codierungsformat zum Lesen der Datei angibt
Parameter 3: Erforderlicher Parameter. Nachdem das Lesen der Datei abgeschlossen ist, wird das Leseergebnis über die Rückruffunktion erhalten

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

Beispiel 1: Demo.txt-Datei lesen

Ein Artikel über das fs-Dateimodul und das Pfadmodul in Node (Fallanalyse)

demo.txt-Datei

'前端杂货铺'

app.js-Datei

// 导入 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)
})

Ein Artikel über das fs-Dateimodul und das Pfadmodul in Node (Fallanalyse)

Bemerkungen: Wenn Falscher Pfad, d.h. Datei Das Lesen schlägt fehl, und der gedruckte Inhalt lautet wie folgt [err ist das Fehlerobjekt, Daten sind undefiniert]

Ein Artikel über das fs-Dateimodul und das Pfadmodul in Node (Fallanalyse)

Beispiel 2: Bestimmen Sie, ob das Lesen der demo.txt-Datei erfolgreich war

app.js-Datei

  • Absichtlich in den falschen Pfad geschrieben, der Lesevorgang ist fehlgeschlagen
  • Das Ergebnis des Fehlers ist wie folgt
// 导入 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)
})

Ein Artikel über das fs-Dateimodul und das Pfadmodul in Node (Fallanalyse)

2. Schreiben Sie die angegebene Datei

fs.writeFile(): Inhalt schreiben in die angegebene Datei

Parameter 1: Erforderlicher Parameter, Sie müssen eine Zeichenfolge mit dem Dateipfad angeben, die den Speicherpfad der Datei angibt
Parameter 2: Erforderlicher Parameter, der den zu schreibenden Inhalt angibt
Parameter 3: Optionaler Parameter, Geben Sie das Format an, in das geschrieben werden soll. Geben Sie den Dateiinhalt ein. Der Standardwert ist utf-8. Parameter 4: Erforderlicher Parameter, Rückruffunktion, nachdem das Schreiben der Datei abgeschlossen ist. Beispiel 1: Datei demo.txt schreiben

demo.txt-Datei

fs.writeFile(file, data, [options], callback)
app.js-Datei

// 该文件内容为空

Ein Artikel über das fs-Dateimodul und das Pfadmodul in Node (Fallanalyse)

Hinweis: Beim Schreiben auf eine nicht vorhandene Festplatte schlägt das Schreiben der Datei fehl und der gedruckte Inhalt ist wie folgt folgt

Ein Artikel über das fs-Dateimodul und das Pfadmodul in Node (Fallanalyse)

3. Notenfall organisieren

Beispiel: Notenformatkonvertierung

Ein Artikel über das fs-Dateimodul und das Pfadmodul in Node (Fallanalyse)

Notenformat vor der Konvertierung

Notenformat nach der Konvertierung

Die Das Dateiformat ist wie folgt:

Ein Artikel über das fs-Dateimodul und das Pfadmodul in Node (Fallanalyse)

Score-.txt-Datei: Schreiben Sie den Partiturinhalt: Sehen Sie sich die fs.readFile an ()-Methode zum Lesen der Datei „score.txt“ im Materialverzeichnis.

Ein Artikel über das fs-Dateimodul und das Pfadmodul in Node (Fallanalyse)Bestimmen Sie, ob das Lesen der Datei fehlgeschlagen ist.
Verarbeiten Sie nach erfolgreichem Lesen der Datei die Bewertungsdaten.

Die vollständigen Bewertungsdaten werden verarbeitet. Rufen Sie fs.writeFile auf () Methode und schreiben Sie sie in die neue Datei Newscore.txt

Ein Artikel über das fs-Dateimodul und das Pfadmodul in Node (Fallanalyse)

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

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

4. : Relativen Pfad schreiben

    const fs = require('fs')
    
    fs.readFile('../files/score.txt', 'utf-8', function(err, data) {
        if (err) {
            return console.log('文件读取失败' + err.message)
        }
        console.log('文件读取成功')
    })

    Ein Artikel über das fs-Dateimodul und das Pfadmodul in Node (Fallanalyse)

    示例:使用 __dirname

    Ein Artikel über das fs-Dateimodul und das Pfadmodul in Node (Fallanalyse)

    const fs = require('fs')
    
    // 读取文件
    fs.readFile(__dirname + '/files/score.txt', 'utf-8', function(err, data) {
        if (err) {
            return console.log('文件读取失败' + err.message)
        }
        console.log('文件读取成功')
    })

    Ein Artikel über das fs-Dateimodul und das Pfadmodul in Node (Fallanalyse)

    二、path 路径模块

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

    1、path.join() 路径拼接

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

    参数:…paths <string></string> 路径片段的序列
    返回值:返回值 <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)

Ein Artikel über das fs-Dateimodul und das Pfadmodul in Node (Fallanalyse)
备注:涉及到路径拼接的操作,都要使用 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;)
})

Ein Artikel über das fs-Dateimodul und das Pfadmodul in Node (Fallanalyse)

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

Ein Artikel über das fs-Dateimodul und das Pfadmodul in Node (Fallanalyse)

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

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

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

path.extname(path)

示例:获取扩展名

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

console.log(fext) // .html

Ein Artikel über das fs-Dateimodul und das Pfadmodul in Node (Fallanalyse)

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

Das obige ist der detaillierte Inhalt vonEin Artikel über das fs-Dateimodul und das Pfadmodul in Node (Fallanalyse). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen