Java 实现解压 .tar.gz 这种格式的压缩包,递归文件夹,找到tar.gz 格式的压缩包,并且进行解压,解压到这个压缩包所在的文件夹下

目录

  • 1 问题
  • 2 实现

1 问题

Java 实现解压 TR_2023063012.tar.gz 这种格式的压缩包

递归文件夹,找到tar.gz 格式的压缩包,并且进行解压,解压到这个压缩包所在的文件夹下

2 实现

  public static void main(String[] args) {String depth = "D:\\data";ArrayList<String> strings = new ArrayList<>();List<String> gz = FileUtils.listFile(strings, new File(depth), true, "gz");for (String  item:gz){File file = new File(item);File parentFile = file.getParentFile();String absolutePath = parentFile.getAbsolutePath();try {uncompressTarGz(item, absolutePath);System.out.println("File uncompressed successfully.");} catch (IOException e) {e.printStackTrace();}System.out.println(item);}//        String inputFilePath = "D:\\059\\data\\RAIN_GRIB\\2023060200\\TR_2023060200.tar.gz"; // 压缩包文件路径
//        String outputFolderPath = "D:\\059\\data\\RAIN_GRIB\\2023060200\\"; // 解压输出文件夹路径
//
//        try {
//            uncompressTarGz(inputFilePath, outputFolderPath);
//            System.out.println("File uncompressed successfully.");
//        } catch (IOException e) {
//            e.printStackTrace();
//        }}private static void uncompressTarGz(String inputFilePath, String outputFolderPath) throws IOException {try (FileInputStream fileInputStream = new FileInputStream(inputFilePath);BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);GzipCompressorInputStream gzipInputStream = new GzipCompressorInputStream(bufferedInputStream);TarArchiveInputStream tarInputStream = new TarArchiveInputStream(gzipInputStream)) {TarArchiveEntry entry;while ((entry = (TarArchiveEntry) tarInputStream.getNextEntry()) != null) {if (!entry.isDirectory()) {File outputFile = new File(outputFolderPath, entry.getName());createParentDirectory(outputFile);try (OutputStream outputStream = new FileOutputStream(outputFile)) {byte[] buffer = new byte[1024];int length;while ((length = tarInputStream.read(buffer)) != -1) {outputStream.write(buffer, 0, length);}}}}}}private static void createParentDirectory(File file) {File parent = file.getParentFile();if (parent != null && !parent.exists()) {parent.mkdirs();}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/183827.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据库系统概述之数据库优化

为什么需要进行优化&#xff1f; 数据库性能瓶颈 数据库服务器的性能受许多因素影响&#xff0c;包括硬件能力、系统规模、业务模型及架构、代码设计、数据库表设计、系统环境等。 因此&#xff0c;可以从几个方面进行数据库优化 喜欢点赞收藏&#xff0c;如有疑问&#xff…

Google Earth Engine——如何批量下载海洋盐度温度数据

简介: 之前写过一篇关于海洋温度数据集的博客Google Earth Engine ——HYCOM 数据子集包含变量海洋温度数据集_此星光明的博客-CSDN博客 混合坐标海洋模式(Hybrid Coordinate Ocean Model,HYCOM)是一个数据同化混合等值-Σ-压力(广义)坐标海洋模式。EE 中的 HYCOM 数据…

RabbitMQ快速学习之WorkQueues模型、三种交换机、消息转换器(基于SpringBoot)

文章目录 前言一、WorkQueues模型消息发送消息接收能者多劳 二、交换机类型1.Fanout交换机消息发送消息接收 2.Direct交换机消息接收消息发送 3.Topic交换机消息发送消息接收 三、编程式声明队列和交换机fanout示例direct示例基于注解 四、消息转换器总结 前言 WorkQueues模型…

关键词挖掘软件-免费批量挖掘关键词的工具

在当今数字化时代&#xff0c;网站的曝光和排名对于吸引流量至关重要。而在这个大数据的背后&#xff0c;SEO&#xff08;Search Engine Optimization&#xff0c;搜索引擎优化&#xff09;成为许多网站主和创作者们追逐的关键。在SEO的世界里&#xff0c;关键词的选择和优化是…

mybatis(mybatis-plus)报invalid bound statement (not found)或者找不到xml文件(各种情况)

情况1&#xff1a;查看yml文件是否添加mybatis配置 mybatis-plus:# Mapper.xml 文件位置 Maven 多模块项目的扫描路径需以 classpath*: 开头# 实现接口绑定mapperLocations: classpath*:mybatis/xml/*Mapper.xml情况2&#xff1a;区分使用的的版本是mybatis还是mybstis-plus&a…

spring security 艰苦学习中

一、初次感知 1.jwt工具类 密钥secret 有点意思。 2.PasswordEncoder 对密码进行加密&#xff0c;在配置类中返回bean. 下面这个关于加密和解密的东西是有误导性的。

用customize-cra+react-app-rewired配置less+css module

1. 安装 npm i less less-loader -D npm i customize-cra-less-loader -D2.添加配置项 //config-overrides.js const { override } require(customize-cra); const addLessLoader require("customize-cra-less-loader");module.exports {webpack: override(addL…

maven的package和install命令有什么区别以及Maven常用命令与GAV坐标与Maven依赖范围与Maven依赖传递与依赖排除与统一声明版本号

maven的package和install命令有什么区别以及Maven常用命令与GAV坐标与Maven依赖范围与Maven依赖传递与依赖排除与统一声明版本号 一: maven的package和install命令有什么区别 一般都与clean命令结合使用 mvn package 生成target目录&#xff0c;编译、测试代码&#xff0c;…

锚索测力计与振弦采集仪组成桥梁安全监测

锚索测力计与振弦采集仪组成桥梁安全监测 在桥梁工程中&#xff0c;安全监测一直是一个重要的方面。桥梁安全监测可以及时发现桥梁的变形、裂缝、位移等问题&#xff0c;为及时修复或维修提供重要的依据。而锚索测力计和振弦采集仪作为桥梁安全监测的两个主要工具&#xff0c;…

内衣洗衣机和手洗哪个干净?内衣洗衣机便宜好用的牌子推荐

单纯的用手清洗内衣&#xff0c;是很难的清洁到内衣物上的每一个角落的污渍。另外&#xff0c;手洗时所用的水以及香皂并不能彻底杀死衣物上的细菌&#xff0c;反而会在内衣物上滋生细菌。长时间穿这种内衣&#xff0c;对身体有潜在的危害。相比较而言&#xff0c;专用的内衣洗…

Mysql基础补偿篇:创建主键索引、唯一索引、普通索引、联合索引、前缀索引,删除索引。

Mysql索引基础篇&#xff1a;什么是聚簇索引什么是非聚簇索引、索引的最左前缀原则、索引下推、索引覆盖、回表 主键索引 在创建表时&#xff0c;指定主键&#xff0c;数据库会自动生成主键主键索引 CREATE TABLE student (id INT(10) UNSIGNED AUTO_INCREMENT ,age INT(10)…

pg 数据库实现 sql 语句批量更新表里面一个字段里面的某几个字

目录 1 问题2 解决 1 问题 一个表里面的一个字段的值里面的数据比较长&#xff0c;比如是一段话&#xff0c;想要将这个字段里面值的 某几个字 改成其他的&#xff0c;如何批量操作 2 解决 要批量更新表中一个字段的某几个字&#xff0c;你可以使用 SQL 的 UPDATE 语句结合字…

Flutter加固原理及加密处理

​ 引言 为了保护Flutter应用免受潜在的漏洞和攻击威胁&#xff0c;加固是必不可少的措施之一。Flutter加固原理主要包括代码混淆、数据加密、安全存储、反调试与反分析、动态加载和安全通信等多个方面。通过综合运用这些措施&#xff0c;可以提高Flutter应用的安全性&#xf…

LeetCode(36)旋转图像【矩阵】【中等】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 48. 旋转图像 1.题目 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在** 原地** 旋转图像&#xff0c;这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 …

springboot项目之获取维护微信公众号accesstoken

引言 基于微信公众号开发时候会用到accessToken&#xff0c;且这个参数两个小时内有效&#xff0c;需要服务器端存储并维护。 方案 springboot通过定时任务更新 Scheduled(initialDelay 10000,fixedRate 6600000)public void creatAccessToken() {String url "http…

日志监控(确保日志在你这台计算机上面)

如果你希望在Linux上面实时监控日志文件的变化并动态刷新&#xff0c;可以考虑使用一些外部工具&#xff0c;如 tail 命令&#xff1a; tail -f your_log_file.logWindows可以使用Notepad&#xff1a;

jdk动态代理和CGLIBE代理

静态代理&#xff1a;由程序员创建或特定工具自动生成源代码&#xff0c;再对其编译。在程序运行前&#xff0c;代理类的.class文件就已经存在了。 动态代理&#xff1a;在程序运行时&#xff0c;运用反射机制动态创建而成。 使用jdk的反射机制&#xff0c;创建对象的能力&…

STM32通讯设计

STM32通讯设计 通讯流程STM32程序 通讯流程 1.使用HT2202芯片配置为主机接收&#xff08;轮询模式&#xff09;。 2.将STM32芯片配置为从机发送&#xff0c;中断模式下发送固定数据。 3.如果HT2202芯片能够收到STM32发送的数据则通讯成功&#xff0c;否则通讯失败。 STM32程序…

Qt 布局讲解及举例

Qt布局是一个用于管理窗口部件位置和大小的机制&#xff0c;它使得开发人员能够轻松地创建可伸缩、可调整大小的界面。在Qt中&#xff0c;布局管理器是一种用于自动调整窗口部件大小的机制&#xff0c;它可以根据窗口大小的变化自动调整部件的位置和大小。 Qt布局管理器通过使…

虹科分享 | 平衡速度和优先级:为多样化的实时需求打造嵌入式网络(4)——从理论到实践:CANopen源代码配置

正如前文所述&#xff0c;CANopen的适应性在满足实时应用需求方面发挥着至关重要的作用。本系列文章的最后一部分将向您展示 CANopen 源代码配置的技术细节&#xff0c;以及实现高效实时性能的优化方法。 前文回顾&#xff1a; 虹科分享 | 平衡速度和优先级&#xff1a;为多样…