文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

nodejs如何获取指定路径下所有的文件夹名或类型

2024-04-02 19:55

关注

获取指定路径下所有的文件夹名或类型

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内置的文件操作模块。主要由两部分组成。第一部分文件操作,可以对文件进行读,写,剪切,删除基本操作,第二部分文件夹操作,可以对文件夹进行读,写,删除,获取文件夹内容基本操作。

注:在使用改模块时里面的所有要使用的路径必须为绝对路径。

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

let fs=require('fs');

其中前面的fs为变量名用来接收文件模块的对象实例。后面的fs为需要引用的模块名。

文件操作

写入文件(异步)

语法:

let fs = require('fs');
fs.writeFile(`${__dirname}/1.json`,data,err=>{
    if(err){
        console.log('有错误');
    }
})

可以将文件写入指定路径的文件里

参数详解

发生错误,输入的文件路径有问题。若路径没有问题则不论文件是否存在都会写入文件中去,若文件不存在则会创建一个文件并把数据写入文件里。

写入文件(同步)

语法:

let fs = require('fs');
fs.writeFileSync(`__dirname/1.json`,data);

发生错误,输入的文件路径有问题。若路径没有问题则不论文件是否存在都会写入文件中去,若文件不存在则会创建一个文件并把数据写入文件里。当发生错误时会报错并终止程序运行。

若想使用同步且文件写入发生错误程序不会停止运行时需要使用try {}catch{}方法

语法

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

e:发生的错误参数,但不会影响程序正常运行。

读取文件(异步)

语法

let fs = require('fs');
fs.readFile(`${__dirname}/1.json`, (err, data) => {
    if (e) {
        console.log('有错误');
    }
    console.log(data);
})

可以读取路径所在的文件数据

参数详解

发生错误,输入的文件路径有问题。所输入的路径中不存在该文件。

读取文件(同步)

语法

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

发生错误,输入的文件路径有问题。当发生错误时会报错并终止程序运行。

若想使用同步且文件读取发生错误程序不会停止运行时需要使用try {}catch{}方法

语法

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

e:发生的错误参数,但不会影响程序正常运行。

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

语法

let fs = require('fs');
fs.rename(`${__dirname}/1.json`,`${__dirname}/2.json`,  err => {
    if (err) {
        console.log('有错误');
    }
  
})

可以将文件从一个地址转移到另一个地址

参数详解

发生错误,输入的文件路径有问题。所输入的路径中不存在该文件。

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

语法

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

发生错误,输入的文件路径有问题。当发生错误时会报错并终止程序运行。

若想使用同步且文件修改发生错误程序不会停止运行时需要使用try {}catch{}方法

语法

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

e:发生的错误参数,但不会影响程序正常运行。

删除文件(异步)

语法:

let fs = require('fs');
fs.unlink(`${__dirname}/1.json`,err=>{
    if(err){
        console.log('有错误');
    }
})

可以删除指定路径的文件

参数详解

发生错误,输入的文件路径有问题。找不到所删除的文件。

注:一次只能删除一个文件

删除文件(同步)

语法:

let fs = require('fs');
fs.unlinksync(`__dirname/1.json`);

发生错误,输入的文件路径有问题。当发生错误时会报错并终止程序运行。

若想使用同步且删除写入发生错误程序不会停止运行时需要使用try {}catch{}方法

语法

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

e:发生的错误参数,但不会影响程序正常运行。

文件夹操作

创建文件夹(异步)

语法

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

一次只能创建一个空的文件夹,不能创建文件

创建文件夹(同步)

语法

let fs = require('fs');
fs.mkdirSync(`${__dirname}`);

发生错误,输入的文件路径有问题。当发生错误时会报错并终止程序运行

若想使用同步且创建文件夹发生错误程序不会停止运行时需要使用try {}catch{}方法

语法

let fs = require('fs');
const { dirname } = require('path');
try{fs.mkdirSync(`${__dirname}`)}
catch(e){
    if(e){
        console.log('发生错误');
    }
}

e:发生的错误参数,但不会影响程序正常运行。

读取文件夹(异步)

语法

let fs = require('fs');
fs.readdie(`${__dirname}`,(err,file)=>{
if(err){console.log('有错误')} 
    
})

一次只能读取一个文件夹,不能读取文件

读取文件夹(同步)

语法

let fs = require('fs');
let arr=fs.raeddirsync(`${__dirname}`);

发生错误,输入的文件路径有问题。当发生错误时会报错并终止程序运行

若想使用同步且读取文件夹发生错误程序不会停止运行时需要使用try {}catch{}方法

语法

let fs = require('fs');
const { dirname } = require('path');
try{let arr=fs.readdirsync(`${__dirname}`)}
catch(e){
    if(e){
        console.log('发生错误');
    }
}

e:发生的错误参数,但不会影响程序正常运行。

获取文件信息

用来获取文件夹里面的各个文件的信息,判断是否是文件还是文件夹

let fs = require('fs');
fs.stat(`${__dirname}`, (err, stats) => {
if(err){
console.log('错误')
 
}else{
stras.isFile()
stras.isDirectory();
)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯