



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Node.js程序中的本地文件操作用法小结_ Node最引以为傲的就是它有一个特别小的核心。有一些语言绑定了完整的POSIX API,而 Node实现了尽可能少的绑定,并通过同步、异步或流API形式暴露他们。 这种方法意味着,操作系统中有一些特别便利的功能,需要在Node中重建。这是一个教你如何用法文件系统软件包的有用教程。 引用文件 与文件系统的交互很重要的一点是要指向正确的文件。由于NPM的包用法相对路径引用,所以你不能把路径写死在代码。有两个主要方式来以确保包能引用到正确的文件: / 用法 path.join() 而不是 + 确保Windows也能正常工作 const path = re
2、quire(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
3、 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,
4、 ./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) mkd
5、irp(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 / stringif
6、ied 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(_dirna
7、me), 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) / thats better, were handing errors now const rs = fs.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (高清版)DB34∕T 5200-2025 家政技能竞赛服务规范
- 儿童心脑血管疾病的早期发现与处理
- 江苏省连云港市2025-2026学年七年级上学期分班摸底考试英语试卷(无答案)
- 岗位争先活动方案
- 工程品质提升年活动方案
- 小学生下乡扶贫活动方案
- 展览特色活动方案
- 小班家长会活动方案
- 岁末冲刺活动方案
- 工会洗涤活动方案
- 《体育与健康》水平四教学设计
- 胸腔积液护理查房
- 医疗护理员基础理论知识考试试题题库及答案
- 制造业暑假工合同
- 湖南省张家界市永定区2023-2024学年三年级下学期期末考试数学试题
- 2024年湖北省中考历史真题
- 泸州老窖“浓香文酿杯”企业文化知识竞赛考试题库大全-上(单选题)
- 2024小学六年级人教版道德与法治升学毕业小升初试卷及答案(时政+上下册考点)04
- 人教版2024年数学小升初模拟试卷(含答案解析)
- 市场营销学智慧树知到期末考试答案章节答案2024年广东石油化工学院
- 架空送电线路导线及避雷线液压施工工艺规程
评论
0/150
提交评论