中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

node中的fs模塊、path模塊怎么用

發布時間:2022-04-25 10:19:29 來源:億速云 閱讀:130 作者:iii 欄目:web開發

本篇內容主要講解“node中的fs模塊、path模塊怎么用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“node中的fs模塊、path模塊怎么用”吧!

node中的fs模塊、path模塊怎么用

fs文件系統模塊

fs 模塊是 Node.js 官方提供的、用來操作文件的模塊。它提供了一系列的方法和屬性,用來滿足用戶對文件的操作需求。

  • fs.readFile() 方法,用來讀取指定文件中的內容

  • fs.writeFile() 方法,用來向指定的文件中寫入內容 如果要在 JavaScript 代碼中,使用 fs 模塊來操作文件,則需要使用如下的方式先導入它:

 const fs = reuire('fs')

讀取指定文件中的內容

1. fs.readFile()的語法格式

使用 fs.readFile() 方法,可以讀取指定文件中的內容,語法格式如下:

 fs.readFile(path[, options], callback)
  • 參數1:必選參數,需要指定一個文件路徑的字符串,表示要讀取哪個路徑對應的文件。

  • 參數2:可選參數,表示以什么編碼格式來讀取文件。

  • 參數3:必選參數,文件讀取完成后,通過回調函數拿到讀取的結果。

2. fs.readFile()的示例代碼

以 utf8 的格式,讀取指定文件的內容,并打印err 和 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:必選參數,需要指定一個文件路徑的字符串,表示要文件的存放路徑。

  • 參數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 模塊操作文件時,如果提供的操作路徑是以./ 或 ../ 開頭的相對路徑時,很容易出現路徑動態拼接錯誤的問題。 這是因為代碼在運行的時候,會以執行node 命令時所處的目錄,動態拼接出被操作文件的完整路徑。

解決方案:在使用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 模塊是 Node.js 官方提供的、用來處理路徑的模塊。它提供了一系列的方法和屬性,用來滿足用戶對路徑的處理需求。

  • path.join() 方法,用來將多個路徑片段拼接成一個完整的路徑字符串

  • path.basename() 方法,用來從路徑字符串中,將文件名解析出來

如果要在 JavaScript 代碼中,使用 path 模塊來處理路徑,則需要使用如下的方式先導入它:

 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

到此,相信大家對“node中的fs模塊、path模塊怎么用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安乡县| 繁昌县| 平武县| 宜川县| 鱼台县| 岗巴县| 台东市| 永修县| 红安县| 慈溪市| 博罗县| 黄大仙区| 永和县| 闽侯县| 十堰市| 汶上县| 永清县| 哈密市| 渑池县| 阿拉尔市| 铜梁县| 二连浩特市| 准格尔旗| 克拉玛依市| 修武县| 敖汉旗| 神农架林区| 鄄城县| 陇南市| 同江市| 登封市| 灌阳县| 渝北区| 中超| 巴马| 东乌珠穆沁旗| 宜川县| 曲水县| 弥渡县| 惠水县| 贵港市|