NodeJs之fs的读写删移监
NodeJs版本:4.4.4
fs
文件系统模块是一个封装了标准的 POSIX 文件 I/O 操作的集合。Node.js 文件系统(fs 模块)模块中的方法均有异步和同步版本。
图片的复制与粘贴
创建一个可读流与一个写入流。通过管道pipe。
var fileReadStream = fs.createReadStream(sourcePath);
var fileWriteStream = fs.createWriteStream(targetPath);
fileReadStream.pipe(fileWriteStream);
//监听关闭事件得知执行完成
fileWriteStream.on('close', function() {
console.log('移动成功!');
})
读文件(fs.readFile)
定义:fs.readFile(filename[, options], callback)
参数:
- filename:{String} 文件名/文件路径
- options:{Object} 可选参数
- encoding:{String | Null} 默认 = null 编码方式
- flag:{String} 默认 = 'r' 文件打开的行为(可写,可读等)
- callback:{Function}
var fs = require('fs');
//读取文件
fs.readFile('../lianxi/child_process.js',{
encoding:'utf-8',
flag:'r'
}, function(err,data){
if(err) throw err;
console.log(data);
});
这里读取文件如果不设置编码方式,读取的文件就是以buffer的形式返回。
<Buffer 76 61 72 20 63 68 69 6c 64 5f 70 72 6f 63 65 73 73 20 3d 20 72 65 71 75 69 72 65 28 27 63 68 69 6c 64 5f 70 72 6f 63 65 73 73 27 29 3b 0d 0a 76 61 72 ... >
设置为utf-8后,返回的就是字符串的形式。如下:
var child_process = require('child_process');...
写文件(fs.writeFile)
定义:fs.writeFile(filename, data[, options], callback)
参数:
- filename:{String}
- data:{String | Buffer}
- options:{Object}
- encoding:{String | Null} 默认 = 'utf8'
- mode:{Number} 默认 = 438 (aka 0666 in Octal)
- flag:{String} 默认 = 'w'
- callback {Function}
//写入文件
fs.writeFile('../lianxi/child_process.js','[zqz]要写入的数据字符串或者buffer',{
encoding:'utf8',
mode:438,
flag:'w'
},function(err){
})

注意:异步写文件,如果文件已经存在则替换。
打开文件(fs.open)
定义:fs.open(path, flags[, mode], callback)
参数:
- path:文件/文件路径
- flags:文件打开的行为
- mode:设置文件模式(权限),文件创建默认权限为 0666(可读,可写)。
- callback:回调函数
//打开文件
fs.open('../lianxi/child_process.js','r+',0666,function(err,data){
})
给文件添加数据(fs.appendFile)
定义:fs.appendFile(filename, data[, options], callback)
参数:
- filename:{String}
- data:{String | Buffer}
- options:{Object}
- encoding {String | Null} 默认 = 'utf8'
- mode {Number} 默认 = 438 (aka 0666 in Octal)
- flag {String} 默认 = 'a'
- callback {Function}
//给文件添加数据
fs.appendFile('../lianxi/child_process.js', '异步添加的字符串或buffer', {
encoding:'utf8',
mode:438,
flag:'a'
}, function(err){
});
注意:异步的给文件添加数据,如果文件不存在,就会创建一个文件。
删除文件(fs.unlink)
定义:fs.unlink(path, callback)
var fs = require('fs');
fs.unlink('./t/index.html',function (err) {
if(err) throw err;
console.log('成功')
})
创建文件(fs.open)
定义:fs.open(path, flags[, mode], callback)
也可以使用fs.open创建文件。
fs.open("test.txt", "w",function (err) {
});
删除文件夹(fs.rmdir)
定义:fs.rmdir(path, callback)
fs.rmdir('./t/a',function (err) {
if(err) throw err;
console.log('成功')
})
创建文件夹(fs.mkdir)
定义:fs.mkdir(path[, mode], callback)
参数:mode 默认是 to 0777.
fs.mkdir('./t/a',0777,function (err) {
if(err) throw err;
console.log('成功')
})
文件监听(fs.watch fs.watchFile)
定义:fs.watch(filename[, options][, listener])
定义:fs.watchFile(filename[, options], listener)
fs.watch('test.js', function (event, filename) {
});
fs.watchFile('test.js', function(curr, prev){
});
flags
| Flag | 描述 |
|---|---|
| r | 以读取模式打开文件。如果文件不存在抛出异常。 |
| r+ | 以读写模式打开文件。如果文件不存在抛出异常。 |
| rs | 以同步的方式读取文件。 |
| rs+ | 以同步的方式读取和写入文件。 |
| w | 以写入模式打开文件,如果文件不存在则创建。 |
| wx | 类似 'w',但是如果文件路径存在,则文件写入失败。 |
| w+ | 以读写模式打开文件,如果文件不存在则创建。 |
| wx+ | 类似 'w+', 但是如果文件路径存在,则文件读写失败。 |
| a | 以追加模式打开文件,如果文件不存在则创建。 |
| ax | 类似 'a', 但是如果文件路径存在,则文件追加失败。 |
| a+ | 以读取追加模式打开文件,如果文件不存在则创建。 |
| ax+ | 类似 'a+', 但是如果文件路径存在,则文件读取追加失败。 |
NodeJs之fs的读写删移监的更多相关文章
- nodejs模块——fs模块
fs模块用于对系统文件及目录进行读写操作. 一.同步和异步 使用require('fs')载入fs模块,模块中所有方法都有同步和异步两种形式. 异步方法中回调函数的第一个参数总是留给异常参数(exce ...
- 【测试技术】ant在测试中的使用@文件以及目录的读写删和复制
ant其实就是一个java的打包工具,存在的时间已经很久了,很多同行在使用中可能就是用,对为什么要用它,能够怎么用没有更多的了解: ---------------------------------- ...
- 【nodejs】 文件系统(fs) 之读写文件
//写入文件 var data = "hello world"; fs.writeFile('c:\\a.txt', data, 'ascii', function(err) { ...
- 简单的nodejs 文件系统(fs)读写例子。
在nodejs中,可以通过fs(file system)模块进行文件的I/O操作. API链接地址: http://nodeapi.ucdok.com/#/api/fs.html 下面进行fs文件系统 ...
- nodeJS之fs文件系统
前面的话 fs文件系统用于对系统文件及目录进行读写操作,本文将详细介绍js文件系统 概述 文件 I/O 是由简单封装的标准 POSIX 函数提供的. 通过 require('fs') 使用该模块. 所 ...
- 【09】node 之 fs流读写
前面我们已经学习了如何使用fs模块中的readFile方法.readFileSync方法读取文件中内容,及如何使用fs模块中的writeFile方法.writeFileSync方法向一个文件写入内容. ...
- NodeJs+http+fs+request+cheerio 采集,保存数据,并在网页上展示(构建web服务器)
目的: 数据采集 写入本地文件备份 构建web服务器 将文件读取到网页中进行展示 目录结构: package.json文件中的内容与上一篇一样:NodeJs+Request+Cheerio 采集数据 ...
- 大熊君大话NodeJS之------FS文件模块
一,开篇分析 文件系统模块是一个简单包装的标准 POSIX 文件 I/O 操作方法集.可以通过调用 require("fs") 来获取该模块.文件系统模块中的所有方法均有异步和同步 ...
- NodeJs之fs
NodeJs版本:4.4.4 fs的实用方法 查看文件信息(fs.stat) 定义:fs.stat(path, callback) var fs = require('fs'); fs.stat('t ...
随机推荐
- U-Boot 内核 (一)
1.首先安装Vmware,安装Ubuntu 15.04 (安装时记住用户名和密码) 2.终端命令Ctrl+Alt+T 3.进行准备工作 安装工具 sudo apt-get update sudo ap ...
- WebX框架学习笔记之一
Webx是什么? Webx是一套基于Java Servlet API的通用Web框架.它在Alibaba集团内部被广泛使用.从2010年底,向社会开放源码. Webx的发展历史 2001年,阿里巴巴内 ...
- python计算文件夹大小(linux du命令 简化版)
C盘又满了,怎么办?用了一些垃圾清理软件(或者bat脚本),但是还是不理想,那么具体哪些文件夹下面有巨大的文件呢?windows并不能通过详细信息看到每个文件夹的大小(PS:这里所谓的文件夹的大小是指 ...
- css-dialog样式实现弹框蒙层全屏无需JS计算高度兼容IE7
<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title> ...
- Linux中的grep命令
grep - print lines matching a pattern 参数: -a 将binary文件以text文件的方式查找 -i 忽略大小写 --color=zuto 加颜色匹配字符串 -v ...
- 对Golang有兴趣的朋友,推荐一款go语言Web框架-dotweb
Go语言,2009年推出,对我个人,2015年下半年,才下定决心正式开始引入使用Go,自此,让我获得了一种全新的开发体验. 在不断的项目过程中,一个开发人员总喜欢堆积一些代码段,由于Go的开源特性,逐 ...
- PL/SQL编程重点语句输出整理
create or replace procedure pr_mytest is v_test number() :=; v_char varchar2():='数据库'; c_changl cons ...
- Nginx+Tomcat动静分离脚本
#!/bin/bashsetenforce 0systemctl stop firewalldtar -zxvf nginx-1.8.0.tar.gz -C /usr/src/ cd /usr/src ...
- response.setHeader("Content-disposition","attachment;filename="+fileName) 下载时文件名中存在空格错误
最近在进行文件下载时发现一个问题,就是下面语句运行时,下载某些文件正常,下载某些文件异常,后来发现文件名中有空格的文件火狐浏览器是默认将文件名截断了的 response.setHeader(" ...
- Lvs+keepalived+mysql主从热备
p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; f ...