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.读文件,读取打开的文件内容到 ...
随机推荐
- EasyUI datagrid 的多条件查询
<script type="text/javascript"> $(function () { $("#dg" ...
- Python学习笔记-EXCEL操作
环境Python3 创建EXCEL,覆盖性创建 #conding=utf-8 import xlwt def BuildExcel(ExcelName,SheetName,TitleList,Data ...
- 2018-2019-1 20189208《Linux内核原理与分析》第八周作业
学习笔记 1.ELF目标文件格式 编译器生成目标文件,目标文件与目标平台二进制兼容. ELF:可执行或可链接的格式,是目标文件格式标准. ELF类型: 可重定位文件:编译器汇编器创建的 .o 文件,最 ...
- crowdstrike提供的应急响应工具
下载链接 https://www.crowdstrike.com/resources/community-tools/ CROWDSTRIKE防病毒资源监视器 CrowdStrike Antiviru ...
- webpack dev-server 允许移动端调试
"dev": "cross-env NODE_ENV=development webpack-dev-server --host 0.0.0.0 --open --hot ...
- English 动词篇
动词后加to do 和 doing的记忆口诀 一.只能用动名词(ing)作宾语 [口诀] 考虑建议盼原谅,承认推迟没得想. 避免错过继续练,否定完成停欣赏. 禁止想象才冒险,不禁介意弃逃亡. cons ...
- 【原创】大数据基础之ElasticSearch(2)常用API整理
Fortunately, Elasticsearch provides a very comprehensive and powerful REST API that you can use to i ...
- 【原创】大叔经验分享(18)hive2.0以后通过beeline执行sql没有进度信息
一 问题 在hive1.2中使用hive或者beeline执行sql都有进度信息,但是升级到hive2.0以后,只有hive执行sql还有进度信息,beeline执行sql完全silence,在等待结 ...
- C#中用ILMerge合并DLL和exe文件成一个exe文件或者DLL
ILMerge是一个将多个.NET程序集合并到一个程序集中的实用程序.它既可以作为 开源使用,也可以作为NuGet包使用. 如果您在使用它时遇到任何问题,请与我们联系.(mbarnett _at_ ...
- 出错:Cause: org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were found for the Mapped Statement 'cn.mgy.mapper.UserMapper.findById'.
详细出错代码: org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: org.a ...