文件系统 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的更多相关文章

  1. Node.js 文件系统fs模块

    Node.js 文件系统封装在 fs 模块是中,它提供了文件的读取.写入.更名.删除.遍历目录.链接等POSIX 文件系统操作. 与其他模块不同的是,fs 模块中所有的操作都提供了异步的和 同步的两个 ...

  2. 33.Node.js 文件系统fs

    转自:http://www.runoob.com/nodejs/nodejs-module-system.html Node.js 提供一组类似 UNIX(POSIX)标准的文件操作API. Node ...

  3. Node.js 文件系统模块

    章节 Node.js 介绍 Node.js 入门 Node.js 模块 Node.js HTTP模块 Node.js 文件系统模块 Node.js URL模块 Node.js NPM Node.js ...

  4. node基础学习——操作文件系统fs

    操作文件系统fs 1.在Node.js中,使用fs模块来实现所有有关文件及目录的创建.写入及删除.在fs模块中,所有对文件及目录的操作都可以使用同步与异步两种方法,具有Sync后缀的方法均为同步方法. ...

  5. 运用node的文件系统模块批量修改文件名

      如果我们需要大批量修改一个文件中的名称,比如,删除文件名中的副本时,就可以借助node的文件系统模块,快捷快速的完成. 首先建立一个js文件(changeName.js),代码如下: // 引入f ...

  6. 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 ...

  7. Node.JS文件系统解析

    1.Node.js 文件系统 var fs = require("fs") 2.异步和同步 读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFile ...

  8. Node.js 文件系统

    Node.js 文件系统封装在 fs 模块是中,它提供了文件的读取.写入.更名.删除.遍历目录.链接等POSIX 文件系统操作. 与其他模块不同的是,fs 模块中所有的操作都提供了异步的和 同步的两个 ...

  9. Node.js文件系统、路径的操作函数

    Node.js文件系统.路径的操作函数 目录 Node.js文件系统.路径的操作函数 1.读取文件readFile函数 2.写文件 3.以追加方式写文件 4.打开文件 5.读文件,读取打开的文件内容到 ...

随机推荐

  1. EasyUI datagrid 的多条件查询

    <script type="text/javascript">         $(function () {            $("#dg" ...

  2. Python学习笔记-EXCEL操作

    环境Python3 创建EXCEL,覆盖性创建 #conding=utf-8 import xlwt def BuildExcel(ExcelName,SheetName,TitleList,Data ...

  3. 2018-2019-1 20189208《Linux内核原理与分析》第八周作业

    学习笔记 1.ELF目标文件格式 编译器生成目标文件,目标文件与目标平台二进制兼容. ELF:可执行或可链接的格式,是目标文件格式标准. ELF类型: 可重定位文件:编译器汇编器创建的 .o 文件,最 ...

  4. crowdstrike提供的应急响应工具

    下载链接 https://www.crowdstrike.com/resources/community-tools/ CROWDSTRIKE防病毒资源监视器 CrowdStrike Antiviru ...

  5. webpack dev-server 允许移动端调试

    "dev": "cross-env NODE_ENV=development webpack-dev-server --host 0.0.0.0 --open --hot ...

  6. English 动词篇

    动词后加to do 和 doing的记忆口诀 一.只能用动名词(ing)作宾语 [口诀] 考虑建议盼原谅,承认推迟没得想. 避免错过继续练,否定完成停欣赏. 禁止想象才冒险,不禁介意弃逃亡. cons ...

  7. 【原创】大数据基础之ElasticSearch(2)常用API整理

    Fortunately, Elasticsearch provides a very comprehensive and powerful REST API that you can use to i ...

  8. 【原创】大叔经验分享(18)hive2.0以后通过beeline执行sql没有进度信息

    一 问题 在hive1.2中使用hive或者beeline执行sql都有进度信息,但是升级到hive2.0以后,只有hive执行sql还有进度信息,beeline执行sql完全silence,在等待结 ...

  9. C#中用ILMerge合并DLL和exe文件成一个exe文件或者DLL

    ILMerge是一个将多个.NET程序集合并到一个程序集中的实用程序.它既可以作为  开源使用,也可以作为NuGet包使用. 如果您在使用它时遇到任何问题,请与我们联系.(mbarnett _at_ ...

  10. 出错: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 ...