fs 文件模块

摘要:
如果未创建此目录,请不要操作constfs=requirecastpath='/Upload'fs.stat(path,(err,data)=˃{If(err){//此目录mkdir(path)}elseif(!data.isDirectory()){///不是文件夹,而是文件fs.unlink(path!
 fs.stat   检测是文件还是目录
const fs = require('fs')
fs.stat('./testdir',(err,data)=>{
    if(err){
        console.log(err)
        return
    }
    console.log(`是文件:${data.isFile()}`)
    console.log(`是目录:${data.isDirectory()}`)
})

/**
 * 是文件:false
 * 是目录:true
 */
 fs.mkdir  创建目录
const fs = require('fs')

fs.mkdir('./testdir2',(err)=>{
    if(err){
        console.log(err)
        return
    }
    console.log("创建成功")
})
/* path: 将创建的目录路径 mode: 目录权限(读写权限),默认777 callback:回调,传递异常参数 err */

fs.writeFile  创建写入文件

如果这个文件不存在,会创建这个文件并写入,如果已存在,会执行替换操作

const fs = require('fs')

fs.writeFile('./testdir/test.txt','你好',(err)=>{
    if(err){
        console.log(err)
        return
    }
    console.log("创建写入文件成功")
})

fs 文件模块第1张

fs.appendFile 追加文件

如果这个文件不存在,会创建这个文件并写入,如果已存在,会在这个文件后面追加内容

fs 文件模块第2张

fs.readFile 读取文件

const fs = require('fs')
const { Console } = require('console')

fs.readFile('./testdir/test.txt',(err,data)=>{
    if(err){
        console.log(err)
        return
    }
    console.log(data) //<Buffer e4 bd a0 e5 a5 bd 68 65 6c 6c 6f>
    console.log(data.toString()) //把Buffer 转化成string类型,你好hello
})

fs.readdir读取目录 

const fs = require('fs')

fs.readdir('./testdir',(err,data)=>{
    if(err){
        console.log(err)
        return
    }
    console.log(data)
})

/**
 * [ 'test.txt' ]
 */

fs.rename 重命名   功能:①表示重命名  ②移动文件

const fs = require('fs')

fs.rename('./testdir/test.txt','./testdir/demo.txt',(err)=>{
    if(err){
        console.log(err)
        return
    }
    console.log("重命名成功")
})
fs.rename('./testdir/demo.txt','./testdir2/demo.txt',(err)=>{
    if(err){
        console.log(err)
        return
    }
    console.log("移动文件成功")
})

fs.rmdir  删除目录

当目录下有文件时,即目录不为空,不能删除,需要先删除目录中的所有文件后才能删除目录

const fs = require('fs')

fs.rmdir('./demodir',(err)=>{
    if(err){
        console.log(err)
        return
    }
    console.log("删除目录成功")
})

fs.unlink 删除文件

const fs = require('fs')

fs.unlink('./demodir/demo.txt',(err)=>{
    if(err){
        console.log(err)
        return
    }
    console.log("删除文件成功")
})
判断服务器上面有没有upload目录。如果没有创建这个目录,如果有的话不做操作
const fs = require('fs')
const path = './upload'

fs.stat(path,(err,data)=>{
    if(err){ //没有这个目录
       mkdir(path)
    }
    else if(!data.isDirectory()){ //不是文件夹,是文件
        fs.unlink(path, (err) => { //删除这个文件
            if(!err){
                mkdir(path) //再创建目录
            }
        }) 
    }
})

//创建目录
function mkdir(dir_path){
    fs.mkdir(dir_path,(err)=>{
        if(err){
            console.log(err)
            return
        }
    })
}

可以使用 mkdirp 模块直接实现

npm i mkdirp --save 
var mkdirp = require('mkdirp');

mkdirp('./upload', function (err) {
    if (err) {
        console.error(err);
    }    
});

https://www.npmjs.com/package/mkdirp

免责声明:文章转载自《fs 文件模块》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇shell 检查文件夹所属用户组Springboot使用MessageSource读取资源文件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

centos+mono+nginx+jexus 搭建linux下c#运行环境测试

从零开始搭建Linux测试环境之dk+apache+jboss +mod_jk+openssl软件介绍1.JDK(Java DevelopmentKit)。Java开发工具包。大家都知道Java程序可以在绝大多数的机器上运行,不需要安装任何额外的软件,为什么我们要安装JDK呢?这是因为Java程序在开发过程中,需要将源代码转换为中间代码形式,也即class...

服务器环境部署

JDK 本地下载Linux版JavaJdk压缩包。打开Xshell连到服务器。 cd /usr  #切换到usr目录。 mkdir java  #创建一个java目录,并切换到java目录。 rz  #上传javaJDK压缩包到java目录。 tar -zxvf 压缩包的名字  #解压压缩文件(将目录A重命名为B 命令:mv A B);切换到解压...

从零搭建 ES 搜索服务(二)基础搜索

一、前言 上篇介绍了 ES 的基本概念及环境搭建,本篇将结合实际需求介绍整个实现过程及核心代码。 二、安装 ES ik 分析器插件 2.1 ik 分析器简介 GitHub 地址:https://github.com/medcl/elasticsearch-analysis-ik 提供两种分词模式:「 ik_max_word 」及「 ik_smart 」...

FastDFS分布式图片服务器搭建

一:Fastdfs简介 1. 什么是FastDFS FastDFS 是用 c 语言编写的一款开源的分布式文件系统。FastDFS 为互联网量身定制, 充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用 FastDFS 很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。  FastDFS 架构包括 Tracker se...

Linux目录及常用命令

Linux目录1. bin.用于存放可执行的二进制文件(ll,mkdir)2. boot 存放用于系统引导时使用的各种文件3. dev 用于存放设备文件 如打印机4. etc.存放系统配置文件 如MySQL的配置文件5. home. 存放所有用户的根目录 user6. lib 存放跟文件系统汇总的程序运行所需要的共享库及内核模块 依赖如Spring Spr...

Python心得基础篇【5】模块

模块,用一砣代码实现了某个功能的代码集合。  类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合。而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块。 如:os 是系统相关的模块;file是文件操作相关的模块 模块分为三...