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.读文件,读取打开的文件内容到 ...
随机推荐
- Shiro与CAS整合实现单点登录
1.简介 CAS:Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法. Shiro:Apache Shiro是一个Java安全框架,可以帮助我们完成认证.授权.会话管 ...
- PyQt5开发环境搭建
一 写在开头1.1 本节内容开个新坑—“PyQt5系列”,慢慢填.本文主要内容为PyQt5开发环境的搭建. 注意:PyQt 5.10以上的版本在Python 3.6中有BUG,PyQt 5.10版本是 ...
- centos7.2 环境下两个数据库的安装部署
首先假如服务器上已经有一个 数据库mysql5.6.29,端口是3306. 接下来在安装一个mysql数据库,端口是3307的. 一:创建mysql编译目录 mkdir /usr/local/mysq ...
- 剑指Offer编程题2——替换空格
剑指Offer编程题2——替换空格 题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happ ...
- pytorch multi-gpu train
记录一下pytorch如何进行单机多卡训练: 官网例程:https://pytorch.org/tutorials/beginner/blitz/data_parallel_tutorial.html ...
- HTTP协议10-实体首部字段
实体首部字段 实体首部字段是包含咋请求报文和响应报文中实体部分的首部,用于补充内容的更新时间等于实体相关的信息. 1)Allow Allow:GET,HEAD 用于通知客户端能够支持访问指定资源的请求 ...
- 手把手教你写vue插件并发布(一)
vue的插件开发 这篇文章较长,需要一定的阅读时间.这里有一份改善版本的插件笔记,在一个项目下完成开发.测试.发布的全过程.https://www.cnblogs.com/adouwt/p/96555 ...
- ASP.NET Core之依赖注入
本文翻译自:http://www.tutorialsteacher.com/core/dependency-injection-in-aspnet-core ASP.NET Core支持依赖注入,依赖 ...
- Python-HTTP 概况
前端知识 网页最主要由3部分组成: 结构.表现和行为.网页现在新的标准是W3C,目前模式是HTML.CSS和JavaScript. (1)HTML HTML,全称“Hyper Text Markup ...
- Caffe+Matlab'hole
有时候,多坚持一小下下就成功了,遇到问题就频繁重装系统并不可取!放弃很容易,但坚持真的很酷! 1.安装依赖库也能出问题 命令行输入: sudo apt-get install libprotobuf- ...