iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe

文章目录

  • 一、前提
  • 二、问题描述
  • 三、原始处理方式
  • 四、程序处理
    • 4.1 java程序如何打包exe
      • 4.1.1 首先打包jar
      • 4.1.2 开始生成exe
      • 4.1.3 软件使用方式
    • 4.2 更换图标
      • 4.2.1 更换swing的打包jar图标
      • 4.2.2 更换exe图标
    • 4.3 如何使生成的exe在没有java环境的电脑上运行
      • 4.3.1 Inno Setup打包
    • 4.4 附件下载

一、前提

用苹果手机照相,有不使用默认的4:3拍照的习惯。
如果只使用默认4:3比例拍照,后面的内容均可跳过。

二、问题描述

我们在将iphone照片拷贝到电脑的过程中(USB接入电脑拷贝的方式),如果喜欢使用16:9来拍照或者出现过不是默认的4:3拍照的情形,你会发现拷贝出来的照片 总是有一模一样的两张,只不过一张是4:3的一张是16:9的(假设开的是16:9),因为iphone的其他比例方式是通过在4:3的比例上剪裁出来的16:9。

我们暂且管4:3叫原片,4:3的比例为A,16:9的比例为B,那么实际的情况是:

  1. A为原片,B是在A的基础上剪裁的
  2. 真正通过USB方式拷贝的,会同时存在A与B
  3. A与B文件名几乎相同,唯一的区别是B的名称中间加了个E,例如:A–>IMG_3854.HEIC,B–>IMG_E3854.HEIC
  4. 只有HEIC的苹果相机照片会有这个问题,png等不存在
  5. 我们需要B存在时留下B,否则留下A
    在这里插入图片描述

三、原始处理方式

最消耗时间的方式肯定是用肉眼去对比,一张一张的删,只有对比过才知道有多么麻烦

四、程序处理

于是想到用程序来解决,具体代码就不讲了,流程无非就是:

  1. 将所有iphone拷贝出来的照片文件夹放到一个文件夹路径下
  2. 提供这个文件夹的路径,可以是文件夹套着文件夹
  3. 根据这个路径,去遍历该文件夹以及该文件的所有子文件夹下每一个HEIC扩展名 照片,若一个照片名字同时存在中间带E和不带E的,则删除不带E的,否则跳过

4.1 java程序如何打包exe

4.1.1 首先打包jar

File—>Project Structure—>Artifacts,点加号
在这里插入图片描述
选择需要生成jar的Module。
注意:此处一定要把只与本次相关的程序单独放在一个工程或者一个Module,否则生成的jar会包含所有的无关的类。
在这里插入图片描述
单击OK,然后Build–>Build Arrifacts–>Build,即可在刚刚设置的路径下生成jar包
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果在生成的过程中遇到如下报错,是因为META-INF已经存在了,删了重新生成即可。
在这里插入图片描述
在这里插入图片描述

4.1.2 开始生成exe

[ 注意:此种方式生成的exe不能在没有java环境的电脑上运行,怎么解决后面说 ]
通过jar生成exe,我们选择launch4j来生成
launch4j官网:https://launch4j.sourceforge.net/

安装后打开,有几个必填项:
1、Basic
在这里插入图片描述
2、Header
默认是GUI,就是一个干净的窗口。如果选择Console,打开exe时还会附带一个cmd窗口 用于控制台输出
在这里插入图片描述
console就是这个效果:
在这里插入图片描述
3、其他的classpath、JRE什么的,用默认的就行了 不用管
[ 注意:如果需要在没有java环境的电脑上运行,此处JRE需要配一下,怎么配跳转至4.3 ]

4、然后直接点上方的小齿轮就能生成了
在这里插入图片描述
随便输入个保存xml,回头删了即可
在这里插入图片描述
运行效果如下:

没有java环境会报这个
在这里插入图片描述

4.1.3 软件使用方式

  1. 输入需要清理的照片路径,该路径随便填,支持递归。例如:E:\新建文件夹,则可以清理该文件夹下的内容以及其所有子文件夹内容
  2. 单击 [开始清理] 按钮,程序会自动获取E:\新建文件夹下所有文件夹内的照片,逐个清理重复的照片
  3. [清空输出文本] 按钮,可清除所有绿色文字
    在这里插入图片描述

4.2 更换图标

默认的图标如果嫌丑的话,可以更换ico图标,首先去网上下载或者自己制作一个ico图标

4.2.1 更换swing的打包jar图标

这个图标,可以使用png、jpg。ico不行

		// 设置左上角图标ImageIcon imageIcon = new ImageIcon("C:\\Users\\xxx\\Desktop\\Backpack.png");jFrame.setIconImage(imageIcon.getImage());

运行效果
在这里插入图片描述

4.2.2 更换exe图标

Launch4j的Basic添加Icon路径,然后点齿轮生成exe
在这里插入图片描述
在这里插入图片描述

4.3 如何使生成的exe在没有java环境的电脑上运行

首先需要把jdk下面的jre文件夹完整拷贝出来,我的路径是:D:\Java\jdk1.8.0_162\jre,和最终生成的exe放到一个目录下,然后把Launch4j的JRE路径改成.\jre,说明运行的jre环境是同一目录的这个,生成exe
在这里插入图片描述
在这里插入图片描述
然后有两个方案:
方案一:把jre文件夹和exe程序打成压缩包,别人在使用时,不能移动任何一个文件夹的位置,否则会出现问题
方案二:直接打包成Setup文件,使用时先安装,后使用。

4.3.1 Inno Setup打包

我们来说方案二
首先去下载Inno Setup,是一个安装制作软件,使用其可以将多个文件/文件夹打包成安装包
官网:https://jrsoftware.org/isinfo.php
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果在生成的过程中因为什么被打断了,可以通过如下按钮重新生成
在这里插入图片描述
最终生成了一个Output文件夹
在这里插入图片描述
打开之后就是安装包
在这里插入图片描述
双击安装包试一下,大功告成!
在这里插入图片描述

4.4 附件下载

需要java环境的exe见文章头部
不需要java环境的安装包:https://download.csdn.net/download/qq_26012495/88210285

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

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

相关文章

pytorch安装VAE项目详解

安装VAE项目 一、 基本环境二、代码来源三、搭建conda环境四、下载数据集五、启动项目六、其他相关问题 一、 基本环境 工具版本号OSwin 11pycharm2020.1GPU3050 二、代码来源 github地址为: https://github.com/AntixK/PyTorch-VAE/blob/8700d245a9735640dda458d…

微信小程序前后端开发快速入门(完结篇)

这篇是微信小程序前后端快速入门完结篇了,今天利用之前学习过的所有知识做一个新的项目「群登记助手v1.0」小程序。 整体技术架构:小程序原生前端小程序云开发。 经历了前面教程的学习,大家有了一定的基础,所以本次分享重心主要是…

气象监测站:用科技感知气象变化

气象监测站是利用科学技术感知当地小气候变化情况的气象观测仪器,可用于农业、林业、养殖业、畜牧业、环境保护、工业等多个领域,提高对环境数据的利用率,促进产业效能不断提升。 气象监测站主要由气象传感器、数据传输系统、电源系统、支架…

CKZF-D60170、CKZF-D70190、CKZF-D80210单向离合器

CKZF-C30100、CKZF-C35110、CKZF-C40125、CKZF-C45130、CKZF-C50150、CKZF-C55160、CKZF-C60170、CKZF-C70190、CKZF-C80210、CKZF-C90230、CKZF-C100270、CKZF-C130310、CKZF-B30100、CKZF-B35110、CKZF-B40125、CKZF-B45130、CKZF-B50150、CKZF-B55160、CKZF-B60170、CKZF-B7…

深入学习前端开发,掌握HTML、CSS、JavaScript等技术

课程链接: 链接: https://pan.baidu.com/s/1WECwJ4T8UQfs2FyjUMbxig?pwdi654 提取码: i654 复制这段内容后打开百度网盘手机App,操作更方便哦 --来自百度网盘超级会员v4的分享 课程介绍: 第1周:HTML5基础语法与标签 &#x1f…

【数据结构】二叉树

完全二叉树 是指所有结点度数小于等于2的树 所以这种情况也是: 几条性质 一个具有n个结点的完全二叉树的深度为: log ⁡ 2 ( n 1 ) 的结果向上取整。 \\\log_{2}(n1) \ \ 的结果向上取整。 log2​(n1) 的结果向上取整。设度为0的结点个数是n0&#…

【数据结构】实现顺序表

目录 一.介绍顺序表二.实现顺序表1.创建多文件2.顺序表的存储方式3.函数的声明4.初始化顺序表5.清理顺序表6.打印顺序表7.扩容8.尾插8.尾删9.头插10.头删11.查找12.修改13.在pos位置插入13.在pos位置删除 三.全部代码1.SeqList.h2.SeqList.c3.Test.c 一.介绍顺序表 顺序表是用…

【机器学习】sklearn数据集的使用,数据集的获取和划分

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 sklearn数据集 二、安装sklearn二、获取数据集三、…

RFID如何在汽车混流生产中进行车辆跟踪?

在汽车混流生产中,RFID技术可以对每个车辆进行唯一标识,从而实现车辆生产全程跟踪。实时确定车辆的位置、状态和生产过程,生产管理系统就能够对生产流程进行实时监控和管理,及时发现和解决问题,提高生产效率和质量。 焊…

gulimall-缓存-缓存使用

文章目录 前言一、本地缓存与分布式缓存1.1 使用缓存1.2 本地缓存1.3 本地模式在分布式下的问题1.4 分布式缓存 二、整合redis测试2.1 引入依赖2.2 配置信息2.3 测试 三、改造三级分类业务3.1 代码改造 四、高并发下缓存失效问题4.1 缓存穿透4.2 缓存雪崩4.3 缓存击穿 五、分布…

ZooKeeper的应用场景(命名服务、分布式协调通知)

3 命名服务 命名服务(NameService)也是分布式系统中比较常见的一类场景,在《Java网络高级编程》一书中提到,命名服务是分布式系统最基本的公共服务之一。在分布式系统中,被命名的实体通常可以是集群中的机器、提供的服务地址或远程对象等一这…

基于LVQ神经网络的人脸朝向识别

1案例背景 1.1人脸识别概述 人脸识别作为一个复杂的模式识别问题,近年来受到了广泛的关注,识别领域的各种方法在这个问题上各显所长,而且发展出了许多新方法,大大丰富和拓宽了模式识别的方向。人脸识别、检测,跟踪、特征定位等技术近年来一直是研究的热点。人脸识别是人脸应用…

W5500-EVB-PICO 做UDP Server进行数据回环测试(七)

前言 前面我们用W5500-EVB-PICO 开发板在TCP Client和TCP Server模式下,分别进行数据回环测试,本章我们将用开发板在UDP Server模式下进行数据回环测试。 UDP是什么?什么是UDP Server?能干什么? UDP (User Dataqram P…

Python 3 使用HBase 总结

HBase 简介和安装 请参考文章:HBase 一文读懂 Python3 HBase API HBase 前期准备 1 安装happybase库操作hbase 安装该库 pip install happybase2 确保 Hadoop 和 Zookeeper 可用并开启 确保Hadoop 正常运行 确保Zookeeper 正常运行3 开启HBase thrift服务 使用命…

ChatGPT爆火,会给教育带来什么样的影响或者冲击?

近来,人工智能聊天机器人ChatGPT连上热搜,火爆全网。ChatGPT拥有强大的信息整合能力、自然语言处理能力,可谓是“上知天文,下知地理”,而且还能根据要求进行聊天、撰写文章等。 ChatGPT一经推出,便迅速在社…

生活随笔,记录我的日常点点滴滴.

前言 😘个人主页:曲终酣兴晚^R的小书屋🥱 😕作者介绍:一个莽莽撞撞的🐻 💖专栏介绍:日常生活&往事回忆 😶‍🌫️每日金句:被人暖一下就高热&…

SpringBoot的配置文件(properties与yml)

文章目录 1. 配置文件的作用2. 配置文件格式3. 配置文件的使用方法3.1. properties配置文件3.1.1. 基本语法和使用3.1.2. properties优缺点分析 3.2. yml配置文件3.2.1. 基本语法与使用3.2.2. yml中单双引号问题3.2.3. yml配置不同类型的数据类型及null3.2.4. 配置对象3.2.5. 配…

CS5263替代停产IT6561连接DP转HDMI音视频转换器ASL 集睿致远CS5263设计电路原理图

ASL集睿致远CS5263是一款DP1.4到HDMI2.0b转换器芯片,设计用于将DP1.4源连接到HDMI2.0b接收器。 CS5263功能特性: DP接口包括4条主通道、辅助通道和HPD信号。接收器支持每通道5.4Gbps(HBR2)数据速率。DP接收机结合了HDCP1.4和HDCP…

接口测试工具——Postman测试工具 Swagger接口测试+SpringBoot整合 JMeter高并发测试工具

目录 Postman测试工具接口测试工具swaggerKnife4j1.引入依赖2.配置3.常用注解4.接口测试 JMeter什么是JMeter?JMeter安装配置1.官网下载2.下载后解压3.汉语设置 JMeter的使用方法1.新建线程组2.设置参数3.添加取样器4.设置参数:协议,ip,端口…

使用Nginx解决跨域问题

前言: 项目是公司的老项目,只有部署在服务器上的时候,项目才可以正常运行(接口是通的);现在需求:在现有的项目代码上进行修改,请求接口是第三方给的。接口是正常的,通过A…