其实要解决的问题,很简单,获取远程文件,然后解压到本地读取。

在vscode中通过node.js来实现是比较方便的,相比之前的zip.js,我觉得我还是比较喜欢node.js实现方式。

test.js如下内容:

   //文件下载
var fs = require("fs");
var path = require("path");
var request = require("request"); //创建文件夹目录
var dirPath = path.join(__dirname, "file");
if (!fs.existsSync(dirPath)) {
fs.mkdirSync(dirPath);
console.log("文件夹创建成功");
} else {
console.log("文件夹已存在");
} //循环多线程下载
for (let i = ; i < ; i++) {
let fileName = "apache-tomcat-8.5.38.zip" ;
let url = "http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/v8.5.38/bin/" + fileName;
let stream = fs.createWriteStream(path.join(dirPath, fileName));
request(url).pipe(stream).on("close", function (err) {
console.log("文件[" + fileName + "]下载完毕");
});
} //整数转字符串,不足的位数用0补齐
function intToString(num, len) {
let str = num.toString();
while (str.length < len) {
str = "" + str;
}
return str;
}

如何解压到本地某个文件夹?

unzip.js内容如下:

var fs = require("fs");
var unzip = require("unzip");
fs.createReadStream('C://Users//test//Desktop//file//apache-tomcat-8.5.38.zip').pipe(unzip.Extract({ path: 'C://Users//test//Desktop//file' }));

如何读取本地某个文件夹的文件内容呢?

readFile.js内容如下:

const fs = require("fs");
let readFile = path => {
return new Promise((resolve,reject) => {
fs.readFile(path,"utf-8",(err,data) => {
if(err){
reject(err);
}
else{
resolve(data);
}
});
});
}; readFile("C://Users//test//Desktop//file//apache-tomcat-8.5.38/BUILDING.txt")
.then(data => {
console.log(data);
})
.catch(err => {
console.log("err");
});

node.js如何将远程的文件下载到本地、解压、读取的更多相关文章

  1. Node.js 反序列化漏洞远程执行代码(CVE-2017-5941)

    2.1 摘要 2.1.1 漏洞介绍 漏洞名称: Exploiting Node.js deserialization bug for Remote Code Execution 漏洞CVE id: C ...

  2. 在Visual Studio上开发Node.js程序(2)——远程调试及发布到Azure

    [题外话] 上次介绍了VS上开发Node.js的插件Node.js Tools for Visual Studio(NTVS),其提供了非常方便的开发和调试功能,当然很多情况下由于平台限制等原因需要在 ...

  3. Node.js 使用爬虫批量下载网络图片到本地

    图片网站往往广告众多,用Node.js写个爬虫下载图片,代码不长,省事不少,比手动一张张保存简直是天与地的区别.以前用Java也做过远程图片下载,但Node.js的下载速度更让人咂舌,这也是非阻塞式变 ...

  4. Node.js 8 中的 util.promisify的详解

    Node.js 8带来了 很多新特性 .其中比较值得注意的,便有 util.promisify() 这个方法. util.promisify() 虽然 Promise 已经普及,但是 Node.js ...

  5. Node.js——fs模块(文件系统),创建、删除目录(文件),读取写入文件流

    /* 1. fs.stat 检测是文件还是目录(目录 文件是否存在) 2. fs.mkdir 创建目录 (创建之前先判断是否存在) 3. fs.writeFile 写入文件(文件不存在就创建,但不能创 ...

  6. matlab 辅助函数 —— 文件下载与文件解压

    0. 可读性的提升 为了提升代码的交互友好性,可在代码执行一些耗时操作时,显示地输出一些文本信息,以显示进度: fprintf('Downloading xxfilename...\n') urlwr ...

  7. node.js 中模块的循环调用问题详解

    首先,我们看一下图示代码,每一个注释其实代表一个 js 文件.所以下面其实是三个 js 文件 .第一个是我们要运行的 main 文件,后面两个是 a, b 文件.   从上面可以看书 a ,b 两个模 ...

  8. 23. Node.Js Buffer类(缓冲区)-(三)文件读取实例

    转自:https://blog.csdn.net/u011127019/article/details/52513109

  9. Node.js快速入门

    Node.js是什么? Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的Web应用程序框架. 它的最新版本是:v0.12.7(在编写本教程时的版本).Node.js在官方 ...

随机推荐

  1. Modular Inverse(zoj3609+欧几里德)

    Modular Inverse Time Limit: 2 Seconds      Memory Limit: 65536 KB The modular modular multiplicative ...

  2. javascript基础知识学习

    javascript中几种基础函数的介绍 1.typeof 注意: ① typeof 是操作符,不是函数: ② typeof 操作符 接收一个参数,用来判断参数数据类型,存在六种返回值类型,非别是:u ...

  3. c++ cmath头文件

    一.前言 c++的一个头文件. 二.常用方法 1. ceil() 定义: c++11 double ceil (double x); float ceil (float x); long double ...

  4. jquery绑定点击事件的三种写法

    一.用jquery动态绑定点击事件的写法 部分代码: <script type="text/javascript"> $(document).ready(functio ...

  5. 从零开始学习html(六)开始学习CSS,为网页添加样式

    一.认识CSS样式 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type&quo ...

  6. RNN,LSTM中如何使用TimeDistributed包装层,代码示例

    本文介绍了LSTM网络中的TimeDistributed包装层,代码演示了具有TimeDistributed层的LSTM网络配置方法. 演示了一对一,多对一,多对多,三种不同的预测方法如何配置. 在对 ...

  7. 图片缩放PhoneView

    第一步:导包 implementation 'com.github.chrisbanes:PhotoView:2.0.0' 第二步:加bmob仓库地址 在build.gradle(project)中的 ...

  8. The packaging and installation process of Android programs

    D:\android\adt-bundle-windows-x86-20131019\sdk\platform-tools工具的路径. 安卓工程经过eclipse编译然后通过aapt工具打包生成一个. ...

  9. springboot中使用mybatis显示执行sql

    springboot 中使用mybatis显示执行sql的配置,在properties中添加如下 logging.你的包名=debug 2018-11-27 16:35:43.044 [DubboSe ...

  10. 【第三篇】SAP ABAP7.5x新语法之程序结构&SubScreen

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文地址:SAP ABAP7.5x系列之程序结构& ...