JAVA远程下载zip包并解压到指定目录

java获取压缩文件的名称并解压 使用java解压缩文件,并获取压缩文件中的文件名称,使用多线程,提高效率 立即下载
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;

public class Test {
public static void main(String[] args) {
String url = "http://192.168.20.24:8083/luaFile/lua.zip";
DownAndReadFile(url);
}

/**
   * 远程下载文件并读取返回p
   * @param filePath 文件网络地址 如http://www.baidu.com/1.txt
   * @return String
   */
  public static void DownAndReadFile(String filePath){
  String date = new SimpleDateFormat("yyyy-MM-dd").format(new Date());  
  String dir = "D://" + date;
  File savePath = new File(dir);//创建新文件
  if (!savePath.exists()) { 
  savePath.mkdir(); 
      }
  String[] urlname = filePath.split("/");
  int len = urlname.length-1;
  String uname = urlname[len];//获取文件名
  try {
  File file = new File(savePath+"//"+uname);//创建新文件
  if(file!=null && !file.exists()){
  file.createNewFile();
  }
  OutputStream oputstream = new FileOutputStream(file);
  URL url = new URL(filePath);
  HttpURLConnection uc = (HttpURLConnection) url.openConnection();
  uc.setDoInput(true);//设置是否要从 URL 连接读取数据,默认为true
  uc.connect();
  InputStream iputstream = uc.getInputStream();
  System.out.println("file size is:"+uc.getContentLength());//打印文件长度
  byte[] buffer = new byte[4*1024];
  int byteRead = -1;
  while((byteRead=(iputstream.read(buffer)))!= -1){
  oputstream.write(buffer, 0, byteRead);
  }
  oputstream.flush();
  iputstream.close();
  oputstream.close();
  //读取文件
  StringBuffer strb = new StringBuffer();
  FileInputStream fs = new FileInputStream(new File(savePath+"//"+uname));
  InputStreamReader isr = new InputStreamReader(fs,"UTF-8");
  BufferedReader br = new BufferedReader(isr);
  String data = "";
  while((data = br.readLine()) != null){
  strb.append(data + "\n");
  }
  br.close();
  fs.close();
  isr.close();
  //解压
  unZipFiles(dir + "/lua.zip", dir + "/");
} catch (Exception e) {
System.out.println("读取失败!");
e.printStackTrace();
}   
  }
  
  /**
* 解压到指定目录
* @param zipPath
* @param descDir
* @author isea533
*/
public static void unZipFiles(String zipPath,String descDir)throws IOException{
unZipFiles(new File(zipPath), descDir);
}
/**
* 解压文件到指定目录
* @param zipFile
* @param descDir
* @author isea533
*/
@SuppressWarnings("rawtypes")
public static void unZipFiles(File zipFile,String descDir)throws IOException{
File pathFile = new File(descDir);
if(!pathFile.exists()){
pathFile.mkdirs();
}
ZipFile zip = new ZipFile(zipFile);
for(Enumeration entries = zip.entries();entries.hasMoreElements();){
ZipEntry entry = (ZipEntry)entries.nextElement();
String zipEntryName = entry.getName();
InputStream in = zip.getInputStream(entry);
String outPath = (descDir+zipEntryName).replaceAll("\\*", "/");;
//判断路径是否存在,不存在则创建文件路径
File file = new File(outPath.substring(0, outPath.lastIndexOf('/')));
if(!file.exists()){
file.mkdirs();
}
//判断文件全路径是否为文件夹,如果是上面已经上传,不需要解压
if(new File(outPath).isDirectory()){
continue;
}
//输出文件路径信息
System.out.println(outPath);

OutputStream out = new FileOutputStream(outPath);
byte[] buf1 = new byte[1024];
int len;
while((len=in.read(buf1))>0){
out.write(buf1,0,len);
}
in.close();
out.close();
}
System.out.println("******************解压完毕********************");
}

}



=========================================

运行结果:

file size is:8317
D://2014-09-09/math_basic.lua
D://2014-09-09/pet.lua
D://2014-09-09/pet_explore_reward.lua
D://2014-09-09/pet_explore_reward_subsidize.lua
D://2014-09-09/point.lua
D://2014-09-09/pvp.lua
D://2014-09-09/_res.lst
D://2014-09-09/altaricon.lua
D://2014-09-09/daily_quest.lua
D://2014-09-09/fight.lua
D://2014-09-09/gameDesign.lua
D://2014-09-09/goldcost.lua
D://2014-09-09/goldoutput.lua
******************解压完毕********************

Simlink与PX4硬件在环仿真(HIL)实现 Simlink与PX4硬件在环仿真(HIL)实现 介于涉及的知识比较多,这里只是简单的介绍一下,更多内容可以参考阿木实验室《基于matlab模型开发》课程。 硬件在环HIL介绍 simlink与PX4通信实现 硬件在环HIL介绍 为来贯彻万物都可以用数学公式表示,我们以simlink的角度来看我们的无人机,那么UAV可以分为以下的几个模块: 传感器模型 滤波器模块 控制器模... 阅读详情

相关推荐

TS808效果器制作教程

TS808效果器制作教程 可以在立创商城购买到大部分的电阻电容和IC,音频接口,踩钉,电位器和电源接口可以去某宝看看都买得到的。链接https//pan.baidu.com/s/1QId1eIE3fJ2u5NLBSISvGA。安装过程过于繁琐,把所有元器件按照图纸焊接完成就可以调试了,祝你们成功!这是TS808经典效果器制作过程的记录。IC是JRC4558。...

qq_18948149的博客 3423

使用java程序下载远程zip文件并解压文件( 带注释解释代码)

带注释解释代码 package com.zcl.Test; import java.io.*; import java.net.HttpURLConnection; import java.net.Socket; import java.net.URL; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Enumeration; import java.util.zip.ZipEntry; import.

web15085599741的博客 3717

Kill5.37版本下,使用ARMcomplier6编译__asm 函数报错的问题

Kill5-5.37版本下,使用ARMcomplier6编译__asm 函数报错的问题 问题简要描述: 昨日更新了keil5软件的版本,从5.17更新到了5.37版本,然后编译STM32项目文件时,软件提示编译报错。报错问题如下: Build started: Project: QKsoftware *** Using Compiler 'V6.18', folder: 'E:\MDK-ARM\ARM\ARM\ARMCLANG\Bin' Build target 'QKsoftware' compiling

weixin_43644424的博客 1万+

使用Java实现远程文件下载到本地目录

使用Java实现远程文件路径下载到本地目录

qq_49417441的博客 6265

【测试】echo发送和接收TCP/UDP数据包|shell 发送TCP/UDP数据包

目录 通过/dev/tcp、/dev/udp shell给tcp或udp服务发送16进制报文指令 通过/dev/tcp、/dev/udp (https://blog.youkuaiyun.com/u010039418/article/details/86251470) 通过/dev/tcp、/dev/udp可以直接在shell脚本中发起tcp、udp连接,方便又高效,平时用于测试啥的还是挺方便的。 直接发送 格式 /dev/udp/ip/port 比如要向本地10001端口发送数据,可以使用 ec.

我的笔记本 1万+

告别USB转接:在STM32探索板上用SPI跑通ESP-Hosted,实现Wi-Fi/BLE连接

本文详细介绍了如何在STM32F469I-DISCO开发板上通过SPI接口实现ESP-Hosted方案,为嵌入式设备添加Wi-Fi和蓝牙连接功能。通过硬件配置、协议栈优化和性能测试,展示了这一创新方案的成本效益和开发效率,特别适合资源受限但需要稳定无线连接的嵌入式应用场景。

weixin_34046298的博客 252

JAVA代码下载zip包,看这一篇就够了!

JAVA代码下载zip包

Zhu_JJing的博客 2585

Foxmail 7.2.25以下版本XSS漏洞实战复现:手把手教你如何构造恶意邮件(含防御方案)

本文深入解析Foxmail 7.2.25以下版本的XSS漏洞(CNVD-2025-06036),详细展示如何构造恶意邮件进行跨站脚本攻击,并提供从客户端升级到企业级防护的多层次防御方案,帮助用户有效防范安全风险。

view3的博客 163

java解压缩(上传和下载)zip压缩包[超详细]包含[前后端]

java解压缩(上传和下载)zip压缩包[超详细]包含[前后端],基于java和前端代码的zip压缩包的导入和导出。在日常中,我们想在没有网络的情况下进行将一个项目中的数据,导入另一个项目中,从而实现数据之前的转换和迁移。这时候,我们可以通过生成压缩包,和解压zip压缩包的形式,将数据进行各种迁移,接下来就让我们开始吧。好啦,以上就是基于java和前端代码的zip压缩包的导入和导出啦。超强实战。看完这个之后,希望你能更加激进你的技术,哈哈。

wang20000102的博客 5541

群晖如何安装软路由OpenWrt/iStoreOS作为旁路由(含网络设置、设置密码、还原出厂设置等linux命令ipk包)

openwrt的固件。

XiaoqiangClub的博客 7017

[案例四] 智能填写属性工具(支持装配组件还有建模实体属性的批量创建、编辑)

本次案例主要是对上次导出自动导出BOM的一个前处理,要想导出属性,首先的有属性。于是本着学习的态度进行制作,可能有些功能有点别扭(支持装配环境下组件属性的批量填写,支持建模环境下的实体(不包括装配组件实体)——为了减负我把其过滤掉了,一般没人会往装配体里添加进行建模吧,但是不免有奇葩,哈哈哈)。

weixin_47753171的博客 1980

java下载zip文件

Java可以使用URL类和URLConnection类来下载zip文件。可以通过打开一个URL连接,并使用getInputStream()方法获取输入流来读取文件内容,再使用FileOutputStream将读取到的内容写入本地文件中来实现下载。代码示例如下: try { URL url= new URL("http://example.com/example.zip"); URL...

weixin_42612804的博客 3230

环境配置与基础教程:2026大厂标准:使用 DVC (Data Version Control) 实现 YOLO 数据集版本控制全链路管理

本文介绍了使用DVC 3.0对YOLO数据集进行全链路版本控制的方法。主要内容包括: DVC 3.0的核心增强:内容块级缓存去重、并行云传输、AI智能体元数据跟踪等新特性,可显著提升YOLO数据集管理效率。 环境配置:详细说明DVC 3.0的安装步骤、项目初始化方法以及远程存储配置方案(支持S3、GCS、Azure等多种存储后端)。 目录结构规范:提供符合大厂MLOps标准的项目目录结构设计。 实战操作: 原始数据版本化 多格式标注数据版本控制 版本切换方法 优势说明:DVC通过哈希指针机制管理大型数据集,

ZXSXJ的博客 148

java io包要下载吗_JAVA远程下载zip包并解压到指定目录

import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;...

weixin_30572707的博客 202

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Java远程下载zip文件

文章目录前言一、已知内容二、实现过程1. 使用对象2. 实现思路3. 实现代码四、运行结果总结 前言 在进行C站的Java认证C4的模拟考试中遇到了一道关于远程下载zip文件并解压到指定目录中,再对解压后的文件进行单独的加密的题目,在模拟考试结束后又对内容进行一次实现,在实现的过程百度了很多的内容,但是很少能够遇到有帮助的回答,因此将用到的知识以及实现的思路和实现后的理解与心得在此进行记录。 提示:以下是本篇文章正文内容,下面案例可供参考 一、已知内容 远程文件的地址:https://xxxxxx

世纪末的架构师的博客 1896

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

下载zip文件并解压到本地

第一步:先从下载地址把文件下载到本地 /** * TODO 下载文件到本地 * @author nadim * * @date add by wl * * @param fileUrl 远程下载地址 * * @param fileLocal 本地路径 * * @throws Exception ...

wl_sqfn的博客 2630

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Java8 Files和Path 解压zip文件(SpringBoot解压zip文件)

Java8 Files 解压zip文件 不需要更多解释,全在注释里了。 /** * 解压Zip * 代码比较简单,运行后通过打印日志能有更深的理解 */ public void unZip() { try { // 此代码是在SpringBoot项目中摘过来的。sourcePath请根据实际情况设置 ...

lkr_lkr的博客 7604

Java通过OpenSSH上传文件到远程Windows服务器,并远程解压zip包

WebVR多节点部署: 1.安装Algalon 安装包: 链接:https://pan.baidu.com/s/1pQQVPrAxYAzmw5sgMnbGwA 提取码:n2gb 安装地址:G:\Algalon 2.安装OpenSSH 1.安装地址:C:\Program Files\OpenSSH 2.安装步骤: 2.1下载openSSH windows版本 链接: https://pan.baidu.com/s/19V2W_e1Agl4GSouW6U3JAQ 提取码: xgjp 链接:

琦彦 5458

Java解压本地zip文件(zip4j)

文章目录前言一、前提条件二、实现过程1. 使用对象2. 实现思路3. 实现代码四、运行结果总结 前言 在成功将远程zip文件下载到本地后,如何将本地zip文件解压到本地指定目录就是接下来要解决的问题,将文件解压到本地指定目录后的心得与理解在此进行记录。 提示:以下是本篇文章正文内容,下面案例可供参考 一、前提条件 二、实现过程 1. 使用对象 在这里我导入了专用于处理zip文件的依赖zip4j,zip4j官网:http://www.lingala.net/zip4j.html Maven仓库

世纪末的架构师的博客 3509

从网络地址下载zip文件并解压,以及对解压后的CSV文件进行处理

最近在项目中需要每天对交易数据进行对账功能,接口方提供对账接口,但是接口提供的是一个网络地址的zip文件,需要在代码中下载到本地后解压再进行操作,查阅各种资料后写出整套流程,以此记录。 第一步,下载网络文件到本地,返回本地文件地址 /** * 从网络地址下载文件到本地 * @param url 网络地址文件 * @param dir 本地地址 * @...

qq_36368609的博客 1559

Android--下载zip压缩文件并解压

网上有很多介绍下载文件或者解压zip文件的文章,但是两者结合的不多,在此记录一下下载zip文件并直接解压的方法,直接上代码。 源码下载:http://download.youkuaiyun.com/detail/chaoyu168/9717756 下载: import java.io.BufferedInputStream; import java.io.BufferedOutputStream; im

超宇的博客 1万+

Java无需解压直接读取ZIP压缩包里的文件及内容

最近在做的功能模块有遇到下载ZIP文件里的文件内容,一开始的想法是先通过代码执行解压,然后读取文件内容,但是感觉好麻烦,于是度了一下,发现可以无需解压直接读取,而且还是JDK提供给我们的工具。(((o(*゚▽゚*)o))) 解决方案就是通过ZipInputStream来读取。 ZipInputStream在JDK中的util包中,而我们平时用的FileInputStream等都是在io包中的。...

Peacock__的博客 2万+

【Android】安卓 Java下载ZIP文件并解压(笔记)

本篇笔记记录如何在 Android 中通过 Java 下载 ZIP 文件并解压,同时处理下载进度、错误处理以及优化方案。

一个XR(AR|VR|MR)程序猿的博客(EQ-雪梨蛋花汤) 1143

Android 解压ZIP包功能

解压ZIP文件包 /** * 解压下载得ZIP文件包 * @param zipPtath 需要解压得文件 * @param outputDirectory 解压到那个目录得地址 * @throws IOException */ public void unzipFile(String zipPtath, String outputDirectory) throws ...

CK_YL的博客 430

zip解压文件 删除文件和文件目录

/** * 解压zip压缩文件 * @param needFilePath 需要解压的文件地址 * @param savePath 解压后文件保存地址 * @throws Exception */ public static void unCompress(String needFilePath,String savePath) throws Exception { OutputStream os = null; I.

小灰辉的博客 2182

Java解压zip文件(zip4j)

Java解压zip文件(zip4j) 需要的jar包:https://download.youkuaiyun.com/download/weixin_43611145/10941990 代码: import java.io.File; import net.lingala.zip4j.core.ZipFile; import net.lingala.zip4j.exception.ZipException;...

weixin_43611145的博客 644
上一篇: request获得所有参数
下一篇: MySQL主从复制与读写分离
樊鹏飞
博客等级 码龄15年 6粉丝 15原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值