下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年本地配送合同
- 等保测评技术服务合同
- 2025年水利设施智能管理系统可行性研究报告
- 2025年新型物流仓储设施建设可行性研究报告
- 2025年数字乡村发展与应用项目可行性研究报告
- 港口运输合同范本
- 田地退租合同范本
- 产后消费协议书
- 高考全国二卷英语题库题库(含答案)
- 人力资源培训师课程设计能力测试题含答案
- 2025年广东省第一次普通高中学业水平合格性考试(春季高考)英语试题(含答案详解)
- 2026年合同全生命周期管理培训课件与风险防控手册
- 特殊儿童沟通技巧培训
- 理赔管理经验分享
- 中国马克思主义与当代2024版教材课后思考题答案
- 2026年日历表(每月一页、可编辑、可备注)
- DB44∕T 1297-2025 聚乙烯单位产品能源消耗限额
- 2025年历城语文面试题目及答案
- 装修合同三方协议范本
- 讲给老年人听的助听器
- 大清包劳务合同样本及条款解读
评论
0/150
提交评论