Heim > Web-Frontend > js-Tutorial > Hauptteil

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

青灯夜游
Freigeben: 2022-11-18 20:36:17
nach vorne
1709 Leute haben es durchsucht

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)
Nach dem Login kopieren

Beispiel 1: Demo.txt-Datei lesen

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

demo.txt-Datei

'前端杂货铺'
Nach dem Login kopieren

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)
})
Nach dem Login kopieren

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)
})
Nach dem Login kopieren

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)
Nach dem Login kopieren
app.js-Datei

// 该文件内容为空
Nach dem Login kopieren

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('文件写入成功')
})
Nach dem Login kopieren

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('文件读取成功')
    })
    Nach dem Login kopieren

    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('文件读取成功')
    })
    Nach dem Login kopieren

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

    二、path 路径模块

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

    1、path.join() 路径拼接

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

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

    path.join([...paths])
    Nach dem Login kopieren

    示例:路径拼接

    // 导入 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)
    Nach dem Login kopieren

    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;)
    })
    Nach dem Login kopieren

    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])
    Nach dem Login kopieren

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

    // 导入 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
    Nach dem Login kopieren

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

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

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

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

    path.extname(path)
    Nach dem Login kopieren

    示例:获取扩展名

    // 导入 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
    Nach dem Login kopieren

    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!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!