Node.js_文件系统 FS
文件系统 FS——File System
所谓的文件系统,就是对计算机中的文件进行增、删、查、改等操作
是一个服务器的基础
node 通过核心 FS 模块来操作文件系统
- 简单写
// 1. 导入 fs 模块
const fs = require('fs');
// 2. 简单写入文件
fs.writeFile('./hello.txt',
'Hello File System!',
{
encoding:'utf-8',
mode: 0o666, // 4 2 0 可读 可写
flag: 'a' // 追加写操作
},
err=>{
// 3. 判断方法是否出错
if(err){ // 如果出错 err 为一个对象
console.log(err);
}else{
console.log('文件写入成功');
};
}
);- 流式写(可以一点一点写入内容)
// 1. 导入 fs 模块
const fs = require('fs');
// 2. 创建可写流
const ws = fs.createWriteStream('./test.txt'); // 绑定监听事件,监听 可写流 有没有开始工作
ws.on('open', ()=>{
console.log('开始写了!');
}); // 绑定监听事件,监听 可写流 有没有开始工作
ws.on('close', ()=>{
console.log('写完了!');
}); // ws.close(); 会立即关闭 写入流,即使 文件流 内容还没有完全写入文件
// ws.end(); // 等待 写入流 内容全部写入文件,再关闭
// 3. 往 可写流 写入内容
ws.write('丫丫啦个呸的... ...');
ws.write('啥玩意儿?!');
// 4. 关闭写入流
ws.end();
- 简单读
// 1. 导入 fs 模块
const fs = require('fs');
// 2. 读文件
fs.readFile(
'./package.json',
(err, bufData)=>{
if(err){
console.log(err);
}else{
console.log(bufData.toString());
};
}
);- 流式读(可以一点一点读)
// 1. 导入 fs 模块
const fs = require('fs');
// 2. 创建可读流
const rs = fs.createReadStream('D:\\Audiio\\test.mp4'); // 绑定监听事件
rs.on('open', ()=>console.log('开始读!'));
rs.on('close', ()=>console.log('开始读!')); // 绑定读取文件事件
rs.on('data', bufData=>{
console.log('开始读!');
});- 文件复制
const {createReadStream, createWriteStream} = require('fs'); const ws = createWriteStream('./testCopy.mp4'); // 绑定监听事件,监听 可写流 有没有开始工作
ws.once('open', ()=>{
console.log('开始写了!');
}); // 绑定监听事件,监听 可写流 有没有开始工作
ws.once('close', ()=>{
console.log('写完了!');
}); const rs = createReadStream('D:\\Audiio\\test.mp4'); // 绑定监听事件
rs.once('open', ()=>console.log('开始读!'));
rs.once('close', ()=>{
console.log('读完了!');
ws.end(); // 等待 写入流 内容全部写入文件,再关闭
}); // 绑定读取文件事件
rs.on('data', bufData=>{
console.log('读ing');
ws.write(bufData);
});- 管道 读写 数据流
const {createReadStream, createWriteStream} = require('fs'); const ws = createWriteStream('./testCopy.mp4'); const rs = createReadStream('D:\\Audiio\\test.mp4'); rs.pipe(ws);
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
Node.js_文件系统 FS的更多相关文章
- Node.js 文件系统fs模块
Node.js 文件系统封装在 fs 模块是中,它提供了文件的读取.写入.更名.删除.遍历目录.链接等POSIX 文件系统操作. 与其他模块不同的是,fs 模块中所有的操作都提供了异步的和 同步的两个 ...
- 33.Node.js 文件系统fs
转自:http://www.runoob.com/nodejs/nodejs-module-system.html Node.js 提供一组类似 UNIX(POSIX)标准的文件操作API. Node ...
- Node.js 文件系统模块
章节 Node.js 介绍 Node.js 入门 Node.js 模块 Node.js HTTP模块 Node.js 文件系统模块 Node.js URL模块 Node.js NPM Node.js ...
- node基础学习——操作文件系统fs
操作文件系统fs 1.在Node.js中,使用fs模块来实现所有有关文件及目录的创建.写入及删除.在fs模块中,所有对文件及目录的操作都可以使用同步与异步两种方法,具有Sync后缀的方法均为同步方法. ...
- 运用node的文件系统模块批量修改文件名
如果我们需要大批量修改一个文件中的名称,比如,删除文件名中的副本时,就可以借助node的文件系统模块,快捷快速的完成. 首先建立一个js文件(changeName.js),代码如下: // 引入f ...
- Node.js文件系统、路径的操作详解
17173 17173 2 75 2014-12-12T05:06:00Z 2014-12-12T05:06:00Z 21 2735 15595 www.17173.com 129 36 18294 ...
- Node.JS文件系统解析
1.Node.js 文件系统 var fs = require("fs") 2.异步和同步 读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFile ...
- Node.js 文件系统
Node.js 文件系统封装在 fs 模块是中,它提供了文件的读取.写入.更名.删除.遍历目录.链接等POSIX 文件系统操作. 与其他模块不同的是,fs 模块中所有的操作都提供了异步的和 同步的两个 ...
- Node.js文件系统、路径的操作函数
Node.js文件系统.路径的操作函数 目录 Node.js文件系统.路径的操作函数 1.读取文件readFile函数 2.写文件 3.以追加方式写文件 4.打开文件 5.读文件,读取打开的文件内容到 ...
随机推荐
- Hadoop记录-metastore jmx配置
参考:http://www.lixiuliang.cn/categories/%E5%A4%A7%E6%95%B0%E6%8D%AE/ 1.修改bin/hive文件 添加jvm启动参数: if [ $ ...
- LFYZ-OJ ID: 1020 过河卒(NOIP2002)
过河卒 Proble Description 如图,A 点有一个过河卒,需要走到目标 B 点.卒行走规则:可以向下.或者向右.同时在棋盘上的任一点有一个对方的马(如上图的C点),该马所在的点和所有跳跃 ...
- 闭包创建自己的 plugin 示例 加载 loading
plugin 插件 什么是 plugin? 实现一个功能,与主应用程序分离,减少主应用程序的大小,高复用,可维护 制作过程中,一定要避免依赖其他的元素,减少 id 等的使用,避免与页面中其他内容冲突 ...
- ArcGis Python脚本——根据接图表批量裁切分幅影像
年前写了一个用渔网工具制作图幅接图表的文章,链接在这里: 使用ArcMap做一个1:5000标准分幅图并编号 本文提供一个使用ArcMap利用接图表图斑裁切一幅影像为多幅的方法. 第一步,将接图表拆分 ...
- [Everyday Mathematics]20150306
在王高雄等<常微分方程(第三版)>习题 2.5 第 1 题第 (32) 小题: $$\bex \frac{\rd y}{\rd x}+\frac{1+xy^3}{1+x^3y}=0. \e ...
- [物理学与PDEs]第2章第1节 理想流体力学方程组 1.2 理想流体力学方程组
1. 质量守恒定律: 连续性方程 $$\bee\label{2_1_2_zl} \cfrac{\p\rho}{\p t}+\Div(\rho{\bf u})=0. \eee$$ 2. 动量守恒定 ...
- JavaScript的数据类型和变量
1. 数据类型:JS使用弱类型,共4种基本类型,其数据可以是变量,也可以是常量. a) 数值(整数和实数) b) 字符串型(用“”号或‘’括起来的字符或数值) c) ...
- 迅为iTOP-4418/6818开发板-驱动-IO初始化配置介绍和例程
对于所有的处理器,pad 一般可以分为两大类:IO(输入输出).Power(VDD 和GDD).类似摄像头 IO.以太网 IO.PWM 的 IO 等等,都可以统称为 IO.一个 IO,有可能能够被配置 ...
- IDEA 中使用MyBatis-generator 自动生成MyBatis代码
0.在Intellij IDEA创建maven项目 1. 在maven项目的pom.xml 添加mybatis-generator-maven-plugin 插件 <build> < ...
- javascript中Math函数的属性与方法
math函数的属性 Math.PI:返回圆周率. math函数的方法 绝对值: Math.abs(); 对数进行上舍入: Math.ceil(); 对数进行下舍入: Math.floor(); Mat ...