node js 文件,文件夹,文件流操作

2023-11-09

引入模块

const fs = require('fs')
const path = require('path')

读取文件

 // 同步读取
var data = fs.readFileSync('read.txt', 'utf-8')
console.log("同步读取: " + data.toString())


// 异步读取
fs.readFile('read.txt', 'utf-8', function (err, data) {
   if (err) {
     return console.error(err)
   }
  console.log("异步读取: " + data.toString())
 })

写入文件

// 同步写入
var data = fs.writeFileSync('write1.txt', '我是被写入的内容1!')
//同步读取
var writeData1 = fs.readFileSync('write1.txt', 'utf-8')
console.log("同步读取写入的内容1: " + writeData1.toString())




// 异步写入
fs.writeFile('write2.txt', '我是被写入的内容2!', function (err) {
    if (err) {
        return console.error(err)
    }
    var writeData2 = fs.readFileSync('write2.txt', 'utf-8')
    console.log("同步读取写入的内容2: " + writeData2.toString())
})

追加写入文件

fs.appendFileSync('123.txt','这是写入的内容')

重命名

fs.renameSync('123.txt', '321.txt')

获取路径

// 获取当前路径
const filePath = path.join(__dirname)
// 获取当前路径底下的dist文件夹路径
const filePath = path.join(__dirname, '/dist')
//获取 当前路径  的  上层路径  底下的dist文件夹路径
const filePath = path.join(__dirname, '../dist')

读取某个路径底下所有文件(包括文件夹,返回的是个数组)

fs.readdirSync(filePath)

新建文件夹

fs.mkdirSync(filePath+`/${fileName}`)

删除文件夹(不回删除文件夹中的文件)

fs.rmdirSync(filePath)

删除文件

fs.unlinkSync(filePath)

检测文件是文件夹还是文件

const stat = fs.statSync(filePath)
// 是否是文件
const tf = stat.isFile()  (返回true or false)
//是否是文件夹
const tf = stat.isDirectory() (返回true or false)

对文件流操作

创建可读流

const reader = fs.createReadStream(filePath)

创建可写流

const upStream = fs.createWriteStream(filePath)

可读流通过管道写入可写流

reader.pipe(upStream)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

node js 文件,文件夹,文件流操作 的相关文章

  • Express全系列教程之(五):Express的中间件

    一 中间件 从字面意思 我们可以了解到它大概就是做中间代理操作 事实也是如此 大多数情况下 中间件就是在做接收到请求和发送响应中间的一系列操作 事实上 express是一个路由和中间件的web框架 Express 应用程序基本上是一系列中间
  • 智慧PG集成开发平台pgting-cli发布了

    介绍 两周前我们发布了智能页面搭建平台 智慧PG pgting 深受用户青睐 很多用户尝试了在线开发组件 为了方便用户定制开发组件和组件共享 智慧PG设计之初就考虑了组件定制开发问题 为此 我们设计和研发了智慧PG集成工作台pgting c
  • node.js HTTP模块 URL模块 supervisor工具

    在vscode 上安装一个插件 Node Snippets 创建一个js文件 直接输入node 就能创建一个服务器 node http server var http require http 表示引入一个HTTP模块 request 表示
  • Koa项目搭建----从零搭建Koa项目

    最近发现使用 Koa 创建项目的博客比较多 但是不够细致 为方便自己和他人 遂整理本博客 本博客会介绍以下内容 1 安装Koa脚手架 即 koa generator 2 创建 Koa 1 项目 3 创建 Koa 2 项目 4 坑 5 项目运
  • Node.js中的断言处理

    在Node js中 可以利用assert模块进行断言处理 即书写一些判断用测试代码 如果判断结果为假 则抛出AssertionError异常 判断两个值是否相等 assert equal actual expected message ac
  • yarn 2+以上版本的安装和使用方法

    一 安装 1 安装核心包 管理 Yarn 的首选方法是通过Corepack 这是从 16 10 开始随所有 Node js 版本一起提供的新二进制文件 它充当你和 Yarn 之间的中介 让你可以在多个项目中使用不同的包管理器版本 而无需再签
  • 仿叮咚买菜开源代码

    1 预览 1 前台 http dingdong nodebook top github地址 https github com cgq001 dingdong 2 后台管理 http dingdong admin nodebook top g
  • Node处理csv文件(利用csv-parse读取指定字符串内的文件片段)

    需求 读取一个csv文件 需要从指定字符串开始读取至指定字符串结束 由于csv文件可能使用不同环境打开编辑过 末尾包含很多多余的分隔逗号 去除这些逗号 使用 Stream const parse require csv parse cons
  • node调用谷歌翻译Api,实现自动国际化

    原因 项目国际化过程繁琐 每次都需要人工去google翻译 导致工作效率不高 需求 1 减少人工的重复劳动 提高工作效率 2 使用脚本调用谷歌翻译接口自动化翻译 3 free 作为程序员肯定接受不了付费服务 找方法解决限制 前期准备 1 谷
  • Node.js 下载安装环境配置 - 图文版

    Node js 是一个开源 跨平台的 JavaScript 运行时环境 一 介绍 1 官方文档 1 中文文档 Node js 中文网 2 英文文档 Node js 二 下载 1 中文 2 英文 编辑三 安装 1 新建一个文件夹作为安装路径
  • npm 实现原理

    输入 npm install 命令并敲下回车后 会经历如下几个阶段 以 npm 5 5 1 为例 1 执行工程自身 preinstall 当前 npm 工程如果定义了 preinstall 钩子此时会被执行 2 确定首层依赖模块 首先需要做
  • 前端页面生成PDF方案之puppetter

    1 新建一个文件夹 例如 test 2 新建一个js文件 例如test js 3 进入test文件夹 在该目录下运行命令行 并执行下面命令 npm init 4 运行命令安装 npm i puppetter 5 编辑test js cons
  • Nodejs的学习Ⅵ(express、ejs模板、关于get与post请求、中间件、nodemon与pm2、app.js文件的说明)

    一 express的简单介绍与安装 ndoe js 一个基于javsscript的服务器环境 它的出现使得javascript有能力去实现服务器操作 而基于node js的Express则把原先的许多操作变的简单灵活 一系列强大特性帮助你创
  • nodejs 控制台美化 console-color-mr

    console color mr插件可以让node控制台输出带有颜色 是一个不错的插件 通过颜色可以更直观的分析程序bug 一 使用 npm install D console color mr 方法一 import console col
  • node连接mysql实现带分页列表多条件模糊查询效果-新手教程

    前言 使用node连接mysql 这里是模糊查询方法完整流程 第一 安装我们的express脚手架 入口 第二 在根目录下创建model文件夹 里面放两个文件 1 mysql config js 这里放的是我们的数据库配置 配置链接数据库参
  • 初识pnpm

    初识pnpm 介绍 pnpm和npm yarn一样 都是包管理器 但是pnpm节约磁盘空间并且安装很快 所有的报会存储在硬盘的同一个位置 多个项目使用了同一个包时 在pnpm中他们是公用的 只会存储一遍 下次需要用到这个包时就会从硬盘中查找
  • jsoup的Elements类

    随时随地阅读更多技术实战干货 获取项目源码 学习资料 请关注源代码社区公众号 ydmsq666 一 简介 该类是位于select包下 直接继承自Object 所有实现的接口有Cloneable Iterable
  • 【node】12、Koa实现简单爬虫案例

    效果图如下 首先我们新建文件夹 进入终端 初始化node项目 npm init y 安装koa搭建服务模块 npm install koa 安装superagent发送请求模块 npm install superagent 安装cheeri
  • 如何在 Windows 10 上安装 Node.js

    Node js 是一个开源的 JavaScript 运行时环境 它允许在 Web 浏览器之外运行 JavaScript 本教程将帮助您在 Windows 系统上安装 Node js 在 Windows 上安装节点 以下是在 Windows
  • 文字转png图片

    body中的数据格式 Convert text to PNG image param text param options param options font 30px sans serif css style font param op

随机推荐

  • getevent/sendevent 使用说明

    这两天准备写一下input子系统的分析 过程中发现了两个好工具 呵呵 就是本文介绍的主角 getevent用于获取当前系统input设备的一些参数和实时事件的数据 sendevent用于发送input事件 这样在调试的时候遇到有的样机按键坏
  • Tensorflow分布式训练原理

    以下文章摘录自 机器学习观止 核心原理与实践 京东 https item jd com 13166960 html 当当 http product dangdang com 29218274 html 由于博客系统问题 部分公式 图片和格式
  • python中imread用法_Python matplotlib.pyplot.imread()用法及代码示例

    Matplotlib是Python中的一个库 它是数字的 NumPy库的数学扩展 Pyplot是Matplotlib模块的基于状态的接口 该模块提供了MATLAB like接口 matplotlib pyplot imread 功能 mat
  • Android 11 设置开机默认系统横屏显示

    实现 默认横屏有两套方案 第一种方式 目录 device rockchip rk356x BoardConfig mk SF PRIMARY DISPLAY ORIENTATION 90 第二种方式 Android系统默认是竖屏显示的 想要
  • Git fetch、pull以及merge之间的区别

    笔者当时学习git的时候对fetch以及pull命令之间的区别疑惑不解 被困扰了许久 其实还是对git的原理理解不深才会有这种情况 git对每次提交都会生成一个cmmit id 我们工作区间版本改变其实就是HEAD指针指向的commit i
  • [Git & GitHub] Windows下安装git,从0开始搭建git环境(配置环境变量+设置git-ssh key...配置)(超全版)

    目录 前提准备 安装Git Git配置 配置环境变量 git配置 ssh认证配置过程 配置邮箱和用户名 个人身份 文本换行符配置 前提准备 下载地址 点击此处 点击Windows进行下载 若下载比较慢 点击此处 安装Git 下载之后 双击G
  • Android安全检测-Intent Scheme URLs攻击风险

    一 漏洞原理 利用intent scheme URLs 意图协议URL 可以通过web页面发送intent来启动App应用 攻击者可构造特殊格式的URL直接向系统发送意图 启动App应用的Activity组件或者发送异常数据 导致应用的敏感
  • python3.7添加dlib模块

    1 下载dlib安装包 安装dlib真是费劲 dlib下载地址 http dlib net files 我下载的是dlib 19 14 zip 然后解压安装dlib 在安装dlib前需要安装Boost和Cmake dlib19之后你需要安装
  • Windows DWrite 组件 RCE 漏洞 (CVE-2021-24093) 分析

    聚焦源代码安全 网罗国内外最新资讯 概述 Windows图形组件DWrite库存在数组越界写漏洞 CVE 2021 24093 可导致远程代码执行 当DWrite库解析恶意构造的字体文件时 计算内存分配长度时出现错误 触发越界写 而且字体文
  • simulink电力电子仿真(2)单相桥式半控整流电路实验

    simulink电力电子仿真 2 单相桥式半控整流电路实验 返回目录 主要是赶上了疫情 然后期末要疯狂补实验报告 就索性写一下吧 万一以后再做电力电路仿真 可能会有用的 也希望可以帮助别人 器件的选择及位置 MATLAB的版本 2018a
  • <Linux开发>系统移植 -之- linux构建BusyBox根文件系统及移植过程详细记录

    Linux开发 系统移植 之 linux构建BusyBox根文件系统及移植过程详细记录 前言 本章节讲解的是构建移植BusyBox根文件系统到linux开发板 主要是基于正点原子Linux开发板操作 接下来讲解具体过程记录 BusyBox源
  • sql概念模型和逻辑模型

    一 概念模式和E R图 概念模型的表示方法很多 目前比较常用的是实体联系模型 简称E R模型 E R模型主要用E R图来表示 实体间的联系有 一对一联系 一对多联系 多对多联系 E R模型用矩形框表示现实世界中的实体 用菱形框表示实体间的联
  • Linux开发(七):多线程通信与同步

    线程间无需特别的手段进行通信 因为线程间可以共享数据结构 也就是一个全局变量可以被两个线程同时使用 不过要注意的是线程间需要做好同步 目录 一 互斥锁 1 初始化 1 动态初始化 2 静态初始化 2 加锁 3 解锁 4 销毁互斥锁 5 互斥
  • 为什么bytes32等于uint256

    先说1byte等于8个字节 bytes32则等于8 32 256个字节 接着uint8同样等于8个字节 uint256即8个字节的32倍 256 8 32 因此看到byteX和uintY时 如果X 8 Y 意味着byteX uintY
  • JVM Troubleshooting命令-jinfo

    概述 用来查看正在运行的Java应用程序的扩展参数 支持在运行时 修改部分参数 命令格式 jinfo option pid jinfo option executable core jinfo option servier id remot
  • 代码坏味道与重构之重复代码

    文章目录 1 重复代码的特征 2 重复代码的影响 3 重复代码的重构技巧 1 重复代码的特征 重复代码是代码坏味道的典型代表 重复代码是指相同或相似的代码在一个以上的地方出现 通常有以下几种情形 同一个类 多个方法间重复 子类之间代码重复
  • ChatGPT API 中文版(google翻譯)

    https platform openai com docs api reference introduction 介紹 您可以通過任何語言的 HTTP 請求 我們的官方 Python 綁定 我們的官方 Node js 庫或社區維護的庫與
  • 1566 重复至少 K 次且长度为 M 的模式(模拟)

    1 问题描述 给你一个正整数数组 arr 请你找出一个长度为 m 且在数组中至少重复 k 次的模式 模式 是由一个或多个值组成的子数组 连续的子序列 连续 重复多次但 不重叠 模式由其长度和重复次数定义 如果数组中存在至少重复 k 次且长度
  • 微信小程序的事件绑定、接收参数、示例

    1 微信小程序的事件类别 tap 点击事件 input 输入事件 longtap 长按事件 touchstart 触摸开始 touchend 触摸结束 touchcansce 取消触摸 注1 小程序中请求处理方法是不能传递参数 正确方式 通
  • node js 文件,文件夹,文件流操作

    引入模块 const fs require fs const path require path 读取文件 同步读取 var data fs readFileSync read txt utf 8 console log 同步读取 data