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

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('有错误');
    }
})

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

参数详解

  • `${__dirname}/1.json`:数据要写入的文件所在的绝对地址
  • data:要写入的数据
  • err:当写入文件时发生错误的回调函数

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

写入文件(同步)

语法:

let fs = require('fs');
fs.writeFileSync(`__dirname/1.json`,data);
  • `${__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);
})

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

参数详解

  • `${__dirname}/1.json`:数据要读取的文件所在的绝对地址
  • err:当读取文件时发生错误的回调函数
  • data:读取出来的数据(buffer类型)

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

读取文件(同步)

语法

let fs = require('fs');
let data = fs.readFileSync(`${__dirname}/1.json`);
  • `${__dirname}/1.json`:数据要读取的文件所在的绝对地址
  • data:读取出的数据(buffer类型)

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

若想使用同步且文件读取发生错误程序不会停止运行时需要使用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('有错误');
    }
  
})

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

参数详解

  • `${__dirname}/1.json`:文件所在的原始绝对地址
  • `${__dirname}/2.json`:文件要移动到的新地址
  • err:当修改文件时发生错误的回调函数

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

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

语法

let fs = require('fs');
fs.renamesync(`${__dirname}/1.json`,`${__dirname}/2.json`);
  • `${__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('有错误');
    }
})

可以删除指定路径的文件

参数详解

  • `${__dirname}/1.json`:要删除的文件所在的绝对地址
  • err:当删除文件时发生错误的回调函数

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

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

删除文件(同步)

语法:

let fs = require('fs');
fs.unlinksync(`__dirname/1.json`);
  • `${__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=>{
    
})

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

  • `${__dirname}`:要创建文件夹的路径
  • err:创建文件夹发生错误的回调函数

创建文件夹(同步)

语法

let fs = require('fs');
fs.mkdirSync(`${__dirname}`);
  • `${__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('有错误')} 
    
})

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

  • `${__dirname}`:要读取文件夹的路径
  • err:读取文件夹发生错误的回调函数
  • file:返回一个以所有文件夹名组成的数组

读取文件夹(同步)

语法

let fs = require('fs');
let arr=fs.raeddirsync(`${__dirname}`);
  • `${__dirname}`:要创建文件夹的路径
  • arr:返回一个以所有文件夹名组成的数组

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

若想使用同步且读取文件夹发生错误程序不会停止运行时需要使用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();
)
  • `${__dirname}`:要创建文件夹的路径
  • stras.isFile()判断是否是文件。
  • stras.isDirectory();判断是否为文件夹。

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

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

  1. nodejs npm package.json中文文档

    这篇文章主要介绍了nodejs npm package.json中文文档,本文档中描述的很多行为都受npm-config(7)的影响,需要的朋友可以参考下

  2. 浅析Nodejs npm常用命令

    这篇文章主要介绍了浅析Nodejs npm常用命令的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

  3. nodejs 使用nodejs-websocket模块实现点对点实时通讯

    这篇文章主要介绍了nodejs 使用nodejs-websocket模块实现点对点实时通讯的实例代码,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

  4. nodeJs链接Mysql做增删改查的简单操作

    本篇文章主要介绍了nodeJs链接Mysql做增删改查的简单操作,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  5. Nodejs中使用captchapng模块生成图片验证码

    本篇文章主要介绍了Nodejs中使用captchapng模块实现图片验证码,非常具有实用价值,需要的朋友可以参考下

  6. nodejs 图片预览和上传的示例代码

    本篇文章主要介绍了nodejs 图片预览和上传的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  7. nodejs中函数的调用实例详解

    本文通过实例代码给大家介绍了nodejs函数的调用,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

  8. 掌握JDK1.5枚举类型

    2.所有枚举值都是public,static,final的。1.遍历所有有枚举值.知道了有values方法,我们可以轻车熟路地用ForEach循环来遍历了枚举值了。*.*/privatestaticintnumber=Color.values().length;/***随机返回一个枚举值@returnarandomenumvalue.*/publicstaticColorgetRandomColor(){longrandom=System.currentTimeMillis()%number;switch

  9. NodeJS使用formidable实现文件上传

    这篇文章主要为大家详细介绍了NodeJS使用formidable实现文件上传的相关方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. Nodejs获取网络数据并生成Excel表格

    这篇文章主要为大家详细介绍了Nodejs获取网络数据并生成Excel表格的具体实现方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

随机推荐

  1. Error: Cannot find module ‘node:util‘问题解决

    控制台 安装 Vue-Cli 最后一步出现 Error: Cannot find module 'node:util' 问题解决方案1.问题C:\Windows\System32>cnpm install -g @vue/cli@4.0.3internal/modules/cjs/loader.js:638 throw err; &nbs

  2. yarn的安装和使用(全网最详细)

    一、yarn的简介:Yarn是facebook发布的一款取代npm的包管理工具。二、yarn的特点:速度超快。Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快。超级安全。在执行代码之前,Yarn 会通过算法校验每个安装包的完整性。超级可靠。使用详细、简洁的锁文件格式和明确的安装算法,Yarn 能够保证在不同系统上无差异的工作。三、y

  3. 前端环境 本机可切换node多版本 问题源头是node使用的高版本

    前言投降投降 重头再来 重装环境 也就分分钟的事 偏要折腾 这下好了1天了 还没折腾出来问题的源头是node 使用的高版本 方案那就用 本机可切换多版本最终问题是因为nodejs的版本太高,导致的node-sass不兼容问题,我的node是v16.14.0的版本,项目中用了"node-sass": "^4.7.2"版本,无法匹配当前的node版本根据文章的提

  4. nodejs模块学习之connect解析

    这篇文章主要介绍了nodejs模块学习之connect解析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  5. nodejs npm package.json中文文档

    这篇文章主要介绍了nodejs npm package.json中文文档,本文档中描述的很多行为都受npm-config(7)的影响,需要的朋友可以参考下

  6. 详解koa2学习中使用 async 、await、promise解决异步的问题

    这篇文章主要介绍了详解koa2学习中使用 async 、await、promise解决异步的问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  7. Node.js编写爬虫的基本思路及抓取百度图片的实例分享

    这篇文章主要介绍了Node.js编写爬虫的基本思路及抓取百度图片的实例分享,其中作者提到了需要特别注意GBK转码的转码问题,需要的朋友可以参考下

  8. CentOS 8.2服务器上安装最新版Node.js的方法

    这篇文章主要介绍了CentOS 8.2服务器上安装最新版Node.js的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  9. node.js三个步骤实现一个服务器及Express包使用

    这篇文章主要介绍了node.js三个步骤实现一个服务器及Express包使用,文章通过新建一个文件展开全文内容,具有一定的参考价值,需要的小伙伴可以参考一下

  10. node下使用UglifyJS压缩合并JS文件的方法

    下面小编就为大家分享一篇node下使用UglifyJS压缩合并JS文件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

返回
顶部