一.fs-extra 文件管理

$npm install fs-extra --save

1.创建一个目录

fs.mkdir(path, [mode], [callback(err)])
path 将创建的目录路径
mode 目录权限(读写权限),默认0777
callback 回调,传递异常参数err

创建目录

await fs.mkdir(path.join(__dirname, "/images", dir));

2.删除一个空目录

fs.rmdir(path,callback)

3.读取一个目录

fs.readdir(path,callback(err,files))

  

4、复制文件

fs.copy('G:/works/node爬虫/images', 'G:/works/node爬虫/test', function(err) {
if (err) return console.error(err)
console.log("success!")
});

5.移动文件、目录, 会删除以前的, 等于改名

fs.move('G:/works/node爬虫/images', 'G:/works/node爬虫/testss', function(err) {
if (err) return console.error(err)
console.log("success!")
});

  

6.删除文件、目录

fs.remove('G:/works/node爬虫/images2', function(err) {
if (err) return console.error(err)
console.log("success!")
})

  

7.创建文件、目录

// 目录
var dir = 'G:/works/node爬虫/my'
fs.ensureDir(dir, function(err) {
console.log(err) // => null
//dir has now been created, including the directory it is to be placed in
});
// 文件
var file = 'G:/works/node爬虫/my/file.txt'
fs.ensureFile(file, function(err) {
console.log(err) // => null
//file has now been created, including the directory it is to be placed in
});

8.写入文件, 写入txt.文件时, "\r\n"是断行

var file = 'G:/works/node爬虫/my/file.txt'
var str = "hello Alan!"
fs.outputFile(file, str, function(err) {
console.log(err) // => null fs.readFile(file, 'utf8', function(err, data) {
console.log(data) // => hello!
})
})

// 下载某图片到指定目录

const request = require('superagent')
const cheerio = require('cheerio')
const fs = require('fs-extra')
const path = require('path') function download() {
const url2 = "https://imgsa.baidu.com/forum/w%3D580/sign=cbeba091a5014c08193b28ad3a7a025b/1ba6b90e7bec54e7141e3726b5389b504ec26ab4.jpg"
const filename = url2.split('/').pop()
const req = request.get(url2)
req.pipe(fs.createWriteStream(path.join(__dirname, 'images', filename)))
}
download()

fs-extra 文件管理的更多相关文章

  1. NodeJS学习笔记 (2)文件系统操作-fs(ok)

    原文:https://github.com/chyingp/nodejs-learning-guide/blob/master/%E6%A8%A1%E5%9D%97/fs.md#%E9%80%9A%E ...

  2. 【ToolKit】轻量级JS库

    优点: 丢弃了一些不常用的方法(jQuery.fn):slideUp.fadeIn.animate等: 新增获取子节点的方法(ToolKit.fn):firstChild,lastChild等: 新增 ...

  3. 初试“七牛云”--零基础运用七牛云配合UEditor实现图片的上传和浏览(.NET篇)

    (注册和建立存储空间就不介绍了,网上一把一把的资料,自己试着点点也能明白) 作为一个成熟的菜鸟,如果遇到一个新问题,第一步当然是先百度一下... 看了N个关于七牛云的使用的帖子,表示还是蒙圈的,看懂了 ...

  4. LDS,LES,LFS,LGS,LSS指令

    LDS,LES,LFS,LGS,LSS其指令格式都是         LDS reg16,mem32 其意义是同时给一个段寄存器和一个16位通用寄存器同时赋值 具体如下:reg16=mem32的低字, ...

  5. Node.js的学习(二)node.js 模块化

    一.Node.js模块化 1.模块化概要 早期的javascript版本没有块级作用域.没有类.没有包.也没有模块,这样会带来一些问题,如复用.依赖.冲突.代码组织混乱等,随着前端的膨胀,模块化显得非 ...

  6. Moodle 中文 API 之 文件管理API

    File API  文件管理 文件夹 1. 概述 2. 文件域 2.1 命名文件域 3. 提供文件给用户 4. 从用户那获取文件 5. 样例 5.1 浏览文件 5.2 移动文件 5.3 文件列表 5. ...

  7. awk 中 FS的用法

    在openwrt文件 ar71xx.sh中 查询设备类型时,有这么一句, machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /machine/ {pr ...

  8. node.js之fs模块

    一.fs模块的mkdir函数,创建文件夹 var http = require("http"); var fs = require("fs"); var ser ...

  9. 大数据学习(2)HDFS文件管理

    命令行管理HDFS [root@server1 bin]# hadoop fs Usage: hadoop fs [generic options] [-appendToFile <locals ...

随机推荐

  1. Scala学习笔记——入门

    0.在 scala> 下运行Scala程序 首先cd到.scala文件所在的目录下 scalac这个scala文件,然后import package的名字.object的名字 然后就能使用 ob ...

  2. Java泛型概述

    泛型是Java中一个非常重要的知识点,在Java集合类框架中泛型被广泛应用.本文我们将从零开始来看一下Java泛型的设计,将会涉及到通配符处理,以及让人苦恼的类型擦除. 泛型基础 泛型类 我们首先定义 ...

  3. 如何解析oracle执行计划

    要执行任何SQL语句,Oracle 必须推导出一个“执行计划”.查询的执行计划是 Oracle 将如何实现数据的检索,以满足给定 SQL 语句的描述.它只不过是其中包含的步骤及它们之间关系的顺序树.执 ...

  4. 简单介绍Linux下安装Tomcat的步骤

    Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成.由于有了Sun的参与和支持,最新的 ...

  5. 使用 resizableImageWithCapInsets 方法实现可伸缩图片

    之前介绍过通过 stretchableImageWithLeftCapWidth:topCapHeight: 方法来实现可伸缩图片: 可看这篇随笔:使用 stretchableImageWithLef ...

  6. 文件流方式 删除prefab空脚本

    /// <summary> /// 删除一个Prefab上的空脚本 /// </summary> /// <param name="path"> ...

  7. 小白扫盲:Android 设备的CPU类型(通常称为”ABIs”)

    早期的Android系统几乎只支持ARMv5的CPU架构,但是现在不同了,你知道现在它支持多少种吗?7种! Android系统目前支持以下七种不同的CPU架构:ARMv5,ARMv7 (从2010年起 ...

  8. linux添加PYTHONPATH环境变量

    1.添加环境变量到pythonpath export PYTHONPATH=$PYTHONPATH:/home/myproject 查看pythonpathecho $PYTHONPATH 可以进入p ...

  9. mysql asyn 示例

    这篇文章摘自mysql asyn作者的博客,博客地址 开头有一个简单示例,然后是一个在play上的应用.例子我并没有跑过,但是仍能学到不少东西. object BasicExample { def m ...

  10. 线程同步 – lock和Monitor

    在多线程代码中,多个线程可能会访问一些公共的资源(变量.方法逻辑等等),这些公共资源称为临界区(共享区):临界区的资源是不安全,所以需要通过线程同步对多个访问临界区的线程进行控制. 同样,有些时候我们 ...