fs-extra 文件管理
一.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 文件管理的更多相关文章
- 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 ...
- 【ToolKit】轻量级JS库
优点: 丢弃了一些不常用的方法(jQuery.fn):slideUp.fadeIn.animate等: 新增获取子节点的方法(ToolKit.fn):firstChild,lastChild等: 新增 ...
- 初试“七牛云”--零基础运用七牛云配合UEditor实现图片的上传和浏览(.NET篇)
(注册和建立存储空间就不介绍了,网上一把一把的资料,自己试着点点也能明白) 作为一个成熟的菜鸟,如果遇到一个新问题,第一步当然是先百度一下... 看了N个关于七牛云的使用的帖子,表示还是蒙圈的,看懂了 ...
- LDS,LES,LFS,LGS,LSS指令
LDS,LES,LFS,LGS,LSS其指令格式都是 LDS reg16,mem32 其意义是同时给一个段寄存器和一个16位通用寄存器同时赋值 具体如下:reg16=mem32的低字, ...
- Node.js的学习(二)node.js 模块化
一.Node.js模块化 1.模块化概要 早期的javascript版本没有块级作用域.没有类.没有包.也没有模块,这样会带来一些问题,如复用.依赖.冲突.代码组织混乱等,随着前端的膨胀,模块化显得非 ...
- Moodle 中文 API 之 文件管理API
File API 文件管理 文件夹 1. 概述 2. 文件域 2.1 命名文件域 3. 提供文件给用户 4. 从用户那获取文件 5. 样例 5.1 浏览文件 5.2 移动文件 5.3 文件列表 5. ...
- awk 中 FS的用法
在openwrt文件 ar71xx.sh中 查询设备类型时,有这么一句, machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /machine/ {pr ...
- node.js之fs模块
一.fs模块的mkdir函数,创建文件夹 var http = require("http"); var fs = require("fs"); var ser ...
- 大数据学习(2)HDFS文件管理
命令行管理HDFS [root@server1 bin]# hadoop fs Usage: hadoop fs [generic options] [-appendToFile <locals ...
随机推荐
- crontab(定时任务操作)
定时任务顾名思义就是在某一时间点自动进行任务操作.在做Pgsql的备份利用crontab进行定时操作, 使用起来比较方便.故分享具体的定时编辑命令:crontab -e 首先从crontab的文件分析 ...
- CodeFirst时使用T4模板
我们都知道T4模板用于生成相似代码. 在DBFirst和ModelFirst条件下我们很容易从.edmx下获取所有实体类和其名称,并且通过我们定义的模板和某些遍历工作为我们生成所需要的相似代码. 但是 ...
- Oracle:在 debian9 上完美安装 oracle 10.2.0.5 x64
多余废话不说. 多动脑子,思路不要僵化. 关键点: --------------------------------------------------- 安装i386的支持库:libc6-dev:3 ...
- ubuntu下安装程序的五种方法
在ubuntu当中,安装应用程序我所知道的有三种方法,分别是apt-get,dpkg安装deb和make install安装源码包三种.下面针对每一种方法各举例来说明. 一.apt-get方法 使用a ...
- war内部结构
war index.html(非必须) WEB-INF classes (java编译之后的class文件) lib(jar文件) web.xml(war包描述文件) subdirectories[可 ...
- Python_selenium二次封装selenium的几个方法
Python_selenium二次封装selenium的几个方法 将常用的几个webdriver方法封装到自己写的一个类中去,此实例中是将"浏览器后退.浏览器前进.打开站点和关闭浏览器&qu ...
- Hibernate_day02讲义_使用Hibernate完成CRM客户管理中查询所有客户的操作
- 爬虫 测试webmagic (一)
目标:统计斗鱼(www.douyu.com)人数 思路: 1. 目录找到douyu播出的所有游戏 http://www.douyutv.com/directory 2. 借助 chrome 定位到每个 ...
- Jackson JSON Processor
Jackson提供接口,可以再json和bean之间互相转换 1. 一个例子 public class JsonToJavaBean { public static void main(String[ ...
- hadoop的Map阶段的四大步骤
深入理解map的几个阶段是怎样执行的.