下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024xx个人知识产权抵押借款合同模板2篇
- 2024年度个人房贷展期及提前还款罚息减免专项合同下载3篇
- 2024年度基础设施建设担保合同与承诺书模板3篇
- 2024年度中国石油天然气集团公司油气田开发合同2篇
- 2024版厂房场地租赁与税收优惠政策合同3篇
- 2024年度国际仲裁服务合同标的的仲裁规则与争议解决2篇
- 2024年度学校体育赛事组织与赞助采购合同3篇
- 2024年度招投标流程及时间点合规性审核合同3篇
- 2024版吊顶工程材料研发与生产合作协议3篇
- 2024年度商业地产二手房买卖合同范本3篇
- 门急诊患者住院转化率统计及分析
- 甲状腺功能亢进的外科治疗二-术前准备
- GSP对药品经营企业计算机系统的要求
- 课堂-可以这么有声有色
- 京瓷哲学培训课件
- 天猫电子商务案例分析
- 2022年1201广东选调生考试《综合行政能力测验》真题
- 有机肥料采购项目售后服务方案
- 综合实践活动(1年级下册)第3课时 感恩卡设计与制作-课件
- 2023河南省科学院招聘144人笔试参考题库(共500题)答案详解版
- (完整版)小学生英语百科知识竞赛题及答案
评论
0/150
提交评论