返回顶部
首页 > 资讯 > 前端开发 > node.js >Node.js程序中的本地文件操作用法小结
  • 356
分享到

Node.js程序中的本地文件操作用法小结

小结操作本地文件 2022-06-04 17:06:59 356人浏览 泡泡鱼
摘要

node最引以为傲的就是它有一个非常小的核心。有一些语言绑定了完整的POSIX api,而 Node实现了尽可能少的绑定,并通过同步、异步或流API形式暴露他们。 这种方法意味着,操作系统中有一些非常方便的

node最引以为傲的就是它有一个非常小的核心。有一些语言绑定了完整的POSIX api,而 Node实现了尽可能少的绑定,并通过同步、异步或流API形式暴露他们。

这种方法意味着,操作系统中有一些非常方便的功能,需要在Node中重建。这是一个教你如何使用文件系统软件包的实用教程


引用文件
与文件系统的交互很重要的一点是要指向正确的文件。由于NPM的包使用相对路径引用,所以你不能把路径写死在代码。有两个主要方式来以确保包能引用到正确的文件:


// 使用 `path.join()` 而不是 `+` 确保windows也能正常工作
const path = require('path')

// 找到基于调用点的相对路径,对于命令行程序(CLI applications)非常实用
path.join(process.cwd(), 'my-dynamic-file')
// 或者
path.resolve('my-dynamic-file')

// 基于一个文件找到另外一个文件
path.join(__dirname, 'my-package-file')


读取文件
在节点中的异步读取文件的最简单方法就是使用流!下面是一个例子:


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

// read a file and pipe it to the console
fs.createReadStream(path.join(__dirname, 'my-file'))
 .pipe(process.stdout)

创建文件
创建文件也并不是很难,这里有一个用node实现的cat命令:


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

// cat ./my-file > ./my-other-file
fs.createReadStream(path.join(__dirname, 'my-file'))
 .pipe(fs.createWriteStream(path.join(__dirname, './my-other-file')))

删除文件
shell脚本中删除的文件和目录通常使用 rm-rf 命令。nodejs中一个 rimraf 也实现了相同的功能:


const rimraf = require('rimraf')
const path = require('path')

rimraf(path.join(__dirname, './my-directory'), err => {
 if (err) throw err
})


创建目录
创建跟删除文件很相似,使用 mkdirp 包


const mkdirp = require('mkdirp')
const path = require('path')

mkdirp(path.join(__dirname, 'foo/bar'), err => {
 if (err) throw err
})

查找文件
使用 readdirp 查找当前目录下的文件:


const readdirp = require('readdirp')
const JSON = require('jsONStream')
const path = require('path')

// recursively print out all files in all subdirectories
// to the command line. The object stream must be
// stringified before being passed to `stdout`.
readdirp({ root: path.join(__dirname) })
 .pipe(json.stringify())
 .pipe(process.stdout)


使用findup查找当前父级目录中的文件:


const findup = require('findup')
const path = require('path')

// recurse up all files relative to __dirname and find
// all `package.json` files.
findup(path.join(__dirname), 'package.json', (err, res) => {
 if (err) throw err
 console.log('dir is: ' + res)
})


关于管道(pipes)

在管道中对整个数据流的错误进行一次处理非常。而不用对每个单独的数据流使用 .on('error', cb) :


const pump = require('pump')
const fs = require('fs')

// oh no, no errors are handled!
fs.createReadStream('./in.file').pipe(fs.createWriteStream('./out.file'))

// that's better, we're handing errors now
const rs = fs.createReadStream('./in.file')
const ws = fs.createWriteStream('./out.file')
pump(rs, ws, err => {
 if (err) throw err
})


--结束END--

本文标题: Node.js程序中的本地文件操作用法小结

本文链接: https://lsjlt.com/news/13048.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Node.js程序中的本地文件操作用法小结
    Node最引以为傲的就是它有一个非常小的核心。有一些语言绑定了完整的POSIX API,而 Node实现了尽可能少的绑定,并通过同步、异步或流API形式暴露他们。 这种方法意味着,操作系统中有一些非常方便的...
    99+
    2022-06-04
    小结 操作 本地文件
  • Node.js中常规的文件操作总结
    前言 Node.js 提供一组类似 UNIX(POSIX)标准的文件操作API。 Node 导入文件系统模块(fs)语法如下所示: var fs = require("fs") fs模块是文件操作的封...
    99+
    2022-06-04
    常规 操作 文件
  • Node.js本地文件操作之文件拷贝与目录遍历的方法
    文件拷贝 NodeJS 提供了基本的文件操作 API,但是像文件拷贝这种高级功能就没有提供,因此我们先拿文件拷贝程序练手。与 copy 命令类似,我们的程序需要能接受源文件路径与目标文件路径两个参数。 小文...
    99+
    2022-06-04
    遍历 操作 本地文件
  • SpringBoot整合redis中的JSON序列化文件夹操作小结
    目录前言快速配置JSON序列化jackson序列化Fastjson序列化需要倒入Fastjson到依赖分析参考对比更多问题参考redis数据库操作前言 最近在开发项目,用到了redi...
    99+
    2024-04-02
  • 使用BufferedReader读取本地文件的操作
    BufferedReader读取本地文件 在使用BufferedWriter写入文件时,如果忘记关闭文件(close)同时也没有调用flush(),则被写入的文件中是没有内容的。 在...
    99+
    2024-04-02
  • 小程序中怎么同步或异步操作本地存储
    小程序中怎么同步或异步操作本地存储,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。本篇文章带大家了解一下微信小程序中的同步异步存储,介绍一下同步操作本地存储和异步操作本地存储的方...
    99+
    2023-06-25
  • 小程序开发中如何使用wx.getSavedFileInfo获取本地文件的文件信息
    这篇文章主要为大家展示了小程序开发中如何使用wx.getSavedFileInfo获取本地文件的文件信息,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“小程序开发中如何使用wx.getSavedFi...
    99+
    2023-06-26
  • 小程序开发中如何保存文件到本地
    这篇文章主要为大家展示了小程序开发中如何保存文件到本地,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“小程序开发中如何保存文件到本地”这篇文章吧。保存文件到本地。注意:saveFile 会把临时文件...
    99+
    2023-06-26
  • Node.js 操作本地文件及深入了解fs内置模块
    目录前言一、目录操作创建目录目录重命名读取目录删除目录二、文件操作创建文件追加文件内容读取文件内容删除文件三、 读取文件/目录信息四、同步方法Sync同步方法捕捉错误删除不为空目录的...
    99+
    2024-04-02
  • 小程序开发中如何删除本地存储的文件
    这篇“小程序开发中如何删除本地存储的文件”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“小程序开发中如何删除本地存储的文件”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来...
    99+
    2023-06-26
  • shell中的数组操作小结和冒泡排序实现脚本的方法教程
    本篇内容主要讲解“shell中的数组操作小结和冒泡排序实现脚本的方法教程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“shell中的数组操作小结和冒泡排序实现脚本的方法教程”吧!shell数组介...
    99+
    2023-06-09
  • 小程序中text文本组件怎么用
    小编给大家分享一下小程序中text文本组件怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!在微信小程序中,组件 text 用来显示文本,基本使用代码如下:<text >测试使用</text&...
    99+
    2023-06-21
  • 用nodeJS搭建本地文件服务器的几种方法小结
    搭建nodejs服务器步骤: 1.安装nodejs服务,node相当于apache服务器 2.在自己定义的目录下新建服务器文件如 server.js 例如,我在E:PhpProjectHTML5webs...
    99+
    2022-06-04
    小结 几种方法 文件服务器
  • Python程序中用csv模块来操作csv文件的基本使用教程
    CSV全称为“Comma Separated Values”,是一种格式化的文件,由行和列组成,分隔符可以根据需要来变化。 如下面为一csv文件: Title,Release Date,Director...
    99+
    2022-06-04
    中用 模块 操作
  • Linux文件操作高频使用命令小结
    0.新建操作: mkdir abc #新建一个文件夹 touch abc.sh #新建一个文件 1.查看操作 查看目录: ll #显示目录文件详细信息 查看文件内容: cat|head|tail命令 ca...
    99+
    2022-06-04
    linux 文件操作命令 linux 文件使用命令
  • myfaces 在程序中配置文件的操作
    使用myfaces的实现类org.apache.myfaces.config.RuntimeConfig 对象可以获取当前的配置文件的信息。操作RuntimeConfig.getCurrentInstance(FactsUtils.getF...
    99+
    2023-06-03
  • C++程序操作文件对话框的方法
    目录1、调用GetOpenFileName接口启动打开文件对话框1.1、OPENFILENAME结构体说明1.2、设置支持文件多选,控制选择文件的个数上限1.3、从OPENFILEN...
    99+
    2024-04-02
  • 微信小程序如何使用wx.saveFile保存文件到本地
    这篇“微信小程序如何使用wx.saveFile保存文件到本地”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“微信小程序如何使用wx.saveFile保存文件到本地”,小编整理了以下知识点,请大家...
    99+
    2023-06-26
  • 总结Node.js中9种fs模块文件操作方法(文件夹递归删除知识)
    目录一、前言二、fs.mkdir()创建文件夹2.1 最简单的案例2.2 递归创建文件夹三、fs.wirteFile()创建、写文件3.1 创建并写入一个文件3.2 重写文件并指定编...
    99+
    2024-04-02
  • SpringBoot 添加本地 jar 文件的操作步骤
    前言 有时候我们在项目中,会用到一些本地 jar 包文件,比如隔壁公司自己打包的; 此时无法从maven远程仓库拉取; 那么我们可以考虑把 jar 文件安装到本地 maven 库中,...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作