欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

nodejs如何獲取指定路徑下所有的文件夾名或類型

 更新時(shí)間:2022年09月16日 09:39:27   作者:JackieDYH  
這篇文章主要介紹了nodejs如何獲取指定路徑下所有的文件夾名或類型,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

獲取指定路徑下所有的文件夾名或類型

let components = []
const files = fs.readdirSync('./components')
files.forEach(function (item, index) {
    let stat = fs.statSync("./components/" + item)
    if (stat.isDirectory() === true) { 
      components.push(item)
    }
})
 
console.log(components);
 
//=============================
//檢測文件夾下文件是文件夾還是文件 模塊
const fs = require('fs');
function textFile(str) {
    let arr = fs.readdirSync(str);
    console.log(arr);
    let obj = {};
    arr.forEach((val, idx) => {
        // console.log(val)
        let ph = fs.statSync(str + '/' + val);
        if (ph.isDirectory()) {
            // console.log(`${val} 是文件夾`);
            obj[val] = '文件夾';
        } else {
            // console.log(`${val} 是文件`);
            obj[val] = '文件';
        }
    })
    return obj;
}
 
const my = require('./my');
console.log(my.textFile('./homework'));

nodejs文件操作

node文件操作又稱為文件操作模塊,是nodejs內(nèi)置的文件操作模塊。主要由兩部分組成。第一部分文件操作,可以對文件進(jìn)行讀,寫,剪切,刪除基本操作,第二部分文件夾操作,可以對文件夾進(jìn)行讀,寫,刪除,獲取文件夾內(nèi)容基本操作。

注:在使用改模塊時(shí)里面的所有要使用的路徑必須為絕對路徑。

首先在文件里引入文件模塊                

let fs=require('fs');

其中前面的fs為變量名用來接收文件模塊的對象實(shí)例。后面的fs為需要引用的模塊名。

文件操作

寫入文件(異步)

語法:

let fs = require('fs');
fs.writeFile(`${__dirname}/1.json`,data,err=>{
? ? if(err){
? ? ? ? console.log('有錯(cuò)誤');
? ? }
})

可以將文件寫入指定路徑的文件里

參數(shù)詳解

  • `${__dirname}/1.json`:數(shù)據(jù)要寫入的文件所在的絕對地址
  • data:要寫入的數(shù)據(jù)
  • err:當(dāng)寫入文件時(shí)發(fā)生錯(cuò)誤的回調(diào)函數(shù)

發(fā)生錯(cuò)誤,輸入的文件路徑有問題。若路徑?jīng)]有問題則不論文件是否存在都會(huì)寫入文件中去,若文件不存在則會(huì)創(chuàng)建一個(gè)文件并把數(shù)據(jù)寫入文件里。

寫入文件(同步)

語法:

let fs = require('fs');
fs.writeFileSync(`__dirname/1.json`,data);
  • `${__dirname}/1.json`:數(shù)據(jù)要寫入的文件所在的絕對地址
  • data:要寫入的數(shù)據(jù)

發(fā)生錯(cuò)誤,輸入的文件路徑有問題。若路徑?jīng)]有問題則不論文件是否存在都會(huì)寫入文件中去,若文件不存在則會(huì)創(chuàng)建一個(gè)文件并把數(shù)據(jù)寫入文件里。當(dāng)發(fā)生錯(cuò)誤時(shí)會(huì)報(bào)錯(cuò)并終止程序運(yùn)行。

若想使用同步且文件寫入發(fā)生錯(cuò)誤程序不會(huì)停止運(yùn)行時(shí)需要使用try {}catch{}方法

語法

let fs = require('fs');
try {
? ? fs.writeFileSync(`__dirname/1.json`, data);
} catch (e) {
? ? console.log(e);
}

e:發(fā)生的錯(cuò)誤參數(shù),但不會(huì)影響程序正常運(yùn)行。

讀取文件(異步)

語法

let fs = require('fs');
fs.readFile(`${__dirname}/1.json`, (err, data) => {
? ? if (e) {
? ? ? ? console.log('有錯(cuò)誤');
? ? }
? ? console.log(data);
})

可以讀取路徑所在的文件數(shù)據(jù)

參數(shù)詳解

  • `${__dirname}/1.json`:數(shù)據(jù)要讀取的文件所在的絕對地址
  • err:當(dāng)讀取文件時(shí)發(fā)生錯(cuò)誤的回調(diào)函數(shù)
  • data:讀取出來的數(shù)據(jù)(buffer類型)

發(fā)生錯(cuò)誤,輸入的文件路徑有問題。所輸入的路徑中不存在該文件。

讀取文件(同步)

語法

let fs = require('fs');
let data = fs.readFileSync(`${__dirname}/1.json`);
  • `${__dirname}/1.json`:數(shù)據(jù)要讀取的文件所在的絕對地址
  • data:讀取出的數(shù)據(jù)(buffer類型)

發(fā)生錯(cuò)誤,輸入的文件路徑有問題。當(dāng)發(fā)生錯(cuò)誤時(shí)會(huì)報(bào)錯(cuò)并終止程序運(yùn)行。

若想使用同步且文件讀取發(fā)生錯(cuò)誤程序不會(huì)停止運(yùn)行時(shí)需要使用try {}catch{}方法

語法

let fs = require('fs');
try {
? ? let data = fs.readFileSync(`${__dirname}/1.json`);
} catch (e) {
?
}

e:發(fā)生的錯(cuò)誤參數(shù),但不會(huì)影響程序正常運(yùn)行。

 文件修改/文件剪切(異步)

語法

let fs = require('fs');
fs.rename(`${__dirname}/1.json`,`${__dirname}/2.json`, ?err => {
? ? if (err) {
? ? ? ? console.log('有錯(cuò)誤');
? ? }
??
})

可以將文件從一個(gè)地址轉(zhuǎn)移到另一個(gè)地址

參數(shù)詳解

  • `${__dirname}/1.json`:文件所在的原始絕對地址
  • `${__dirname}/2.json`:文件要移動(dòng)到的新地址
  • err:當(dāng)修改文件時(shí)發(fā)生錯(cuò)誤的回調(diào)函數(shù)

發(fā)生錯(cuò)誤,輸入的文件路徑有問題。所輸入的路徑中不存在該文件。

修改文件 /文件剪切(同步)

語法

let fs = require('fs');
fs.renamesync(`${__dirname}/1.json`,`${__dirname}/2.json`);
  • `${__dirname}/1.json`:文件所在的原始絕對地址
  • `${__dirname}/2.json`:文件要移動(dòng)到的新地址

發(fā)生錯(cuò)誤,輸入的文件路徑有問題。當(dāng)發(fā)生錯(cuò)誤時(shí)會(huì)報(bào)錯(cuò)并終止程序運(yùn)行。

若想使用同步且文件修改發(fā)生錯(cuò)誤程序不會(huì)停止運(yùn)行時(shí)需要使用try {}catch{}方法

語法

let fs = require('fs');
try {
? ? fs.renamesync(`${__dirname}/1.json`, `${__dirname}/2.json`);
} catch (e) {
?
}

e:發(fā)生的錯(cuò)誤參數(shù),但不會(huì)影響程序正常運(yùn)行。

刪除文件(異步)

語法:

let fs = require('fs');
fs.unlink(`${__dirname}/1.json`,err=>{
? ? if(err){
? ? ? ? console.log('有錯(cuò)誤');
? ? }
})

可以刪除指定路徑的文件

參數(shù)詳解

  • `${__dirname}/1.json`:要?jiǎng)h除的文件所在的絕對地址
  • err:當(dāng)刪除文件時(shí)發(fā)生錯(cuò)誤的回調(diào)函數(shù)

發(fā)生錯(cuò)誤,輸入的文件路徑有問題。找不到所刪除的文件。

注:一次只能刪除一個(gè)文件

刪除文件(同步)

語法:

let fs = require('fs');
fs.unlinksync(`__dirname/1.json`);
  • `${__dirname}/1.json`:要?jiǎng)h除的文件所在的絕對地址

發(fā)生錯(cuò)誤,輸入的文件路徑有問題。當(dāng)發(fā)生錯(cuò)誤時(shí)會(huì)報(bào)錯(cuò)并終止程序運(yùn)行。

若想使用同步且刪除寫入發(fā)生錯(cuò)誤程序不會(huì)停止運(yùn)行時(shí)需要使用try {}catch{}方法

語法

let fs = require('fs');
try {
? ? fs.unlinksync(`__dirname/1.json`);
} catch (e) {
? ? console.log(e);
}

e:發(fā)生的錯(cuò)誤參數(shù),但不會(huì)影響程序正常運(yùn)行。

文件夾操作

創(chuàng)建文件夾(異步)

語法

let fs = require('fs');
fs.mkdir(`${__dirname}`,err=>{
? ??
})

一次只能創(chuàng)建一個(gè)空的文件夾,不能創(chuàng)建文件

  • `${__dirname}`:要?jiǎng)?chuàng)建文件夾的路徑
  • err:創(chuàng)建文件夾發(fā)生錯(cuò)誤的回調(diào)函數(shù)

創(chuàng)建文件夾(同步)

語法

let fs = require('fs');
fs.mkdirSync(`${__dirname}`);
  • `${__dirname}`:要?jiǎng)?chuàng)建文件夾的路徑

發(fā)生錯(cuò)誤,輸入的文件路徑有問題。當(dāng)發(fā)生錯(cuò)誤時(shí)會(huì)報(bào)錯(cuò)并終止程序運(yùn)行

若想使用同步且創(chuàng)建文件夾發(fā)生錯(cuò)誤程序不會(huì)停止運(yùn)行時(shí)需要使用try {}catch{}方法

語法

let fs = require('fs');
const { dirname } = require('path');
try{fs.mkdirSync(`${__dirname}`)}
catch(e){
? ? if(e){
? ? ? ? console.log('發(fā)生錯(cuò)誤');
? ? }
}

e:發(fā)生的錯(cuò)誤參數(shù),但不會(huì)影響程序正常運(yùn)行。

讀取文件夾(異步)

語法

let fs = require('fs');
fs.readdie(`${__dirname}`,(err,file)=>{
if(err){console.log('有錯(cuò)誤')}?
? ??
})

一次只能讀取一個(gè)文件夾,不能讀取文件

  • `${__dirname}`:要讀取文件夾的路徑
  • err:讀取文件夾發(fā)生錯(cuò)誤的回調(diào)函數(shù)
  • file:返回一個(gè)以所有文件夾名組成的數(shù)組

讀取文件夾(同步)

語法

let fs = require('fs');
let arr=fs.raeddirsync(`${__dirname}`);
  • `${__dirname}`:要?jiǎng)?chuàng)建文件夾的路徑
  • arr:返回一個(gè)以所有文件夾名組成的數(shù)組

發(fā)生錯(cuò)誤,輸入的文件路徑有問題。當(dāng)發(fā)生錯(cuò)誤時(shí)會(huì)報(bào)錯(cuò)并終止程序運(yùn)行

若想使用同步且讀取文件夾發(fā)生錯(cuò)誤程序不會(huì)停止運(yùn)行時(shí)需要使用try {}catch{}方法

語法

let fs = require('fs');
const { dirname } = require('path');
try{let arr=fs.readdirsync(`${__dirname}`)}
catch(e){
? ? if(e){
? ? ? ? console.log('發(fā)生錯(cuò)誤');
? ? }
}

e:發(fā)生的錯(cuò)誤參數(shù),但不會(huì)影響程序正常運(yùn)行。

獲取文件信息

用來獲取文件夾里面的各個(gè)文件的信息,判斷是否是文件還是文件夾

let fs = require('fs');
fs.stat(`${__dirname}`, (err, stats) => {
if(err){
console.log('錯(cuò)誤')
?
}else{
stras.isFile()
stras.isDirectory();
)
  • `${__dirname}`:要?jiǎng)?chuàng)建文件夾的路徑
  • stras.isFile()判斷是否是文件。
  • stras.isDirectory();判斷是否為文件夾。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論