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
    iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第1张图片

三、原始处理方式

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

四、程序处理

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

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

4.1 java程序如何打包exe

4.1.1 首先打包jar

File—>Project Structure—>Artifacts,点加号
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第2张图片
选择需要生成jar的Module。
注意:此处一定要把只与本次相关的程序单独放在一个工程或者一个Module,否则生成的jar会包含所有的无关的类。
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第3张图片
单击OK,然后Build–>Build Arrifacts–>Build,即可在刚刚设置的路径下生成jar包
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第4张图片
在这里插入图片描述
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第5张图片
如果在生成的过程中遇到如下报错,是因为META-INF已经存在了,删了重新生成即可。
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第6张图片
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第7张图片

4.1.2 开始生成exe

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

安装后打开,有几个必填项:
1、Basic
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第8张图片
2、Header
默认是GUI,就是一个干净的窗口。如果选择Console,打开exe时还会附带一个cmd窗口 用于控制台输出
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第9张图片
console就是这个效果:
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第10张图片
3、其他的classpath、JRE什么的,用默认的就行了 不用管
[ 注意:如果需要在没有java环境的电脑上运行,此处JRE需要配一下,怎么配跳转至4.3 ]

4、然后直接点上方的小齿轮就能生成了
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第11张图片
随便输入个保存xml,回头删了即可
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第12张图片
运行效果如下:
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第13张图片
没有java环境会报这个
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第14张图片

4.1.3 软件使用方式

  1. 输入需要清理的照片路径,该路径随便填,支持递归。例如:E:\新建文件夹,则可以清理该文件夹下的内容以及其所有子文件夹内容
  2. 单击 [开始清理] 按钮,程序会自动获取E:\新建文件夹下所有文件夹内的照片,逐个清理重复的照片
  3. [清空输出文本] 按钮,可清除所有绿色文字
    iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第15张图片

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());

运行效果
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第16张图片

4.2.2 更换exe图标

Launch4j的Basic添加Icon路径,然后点齿轮生成exe
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第17张图片
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第18张图片

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

首先需要把jdk下面的jre文件夹完整拷贝出来,我的路径是:D:\Java\jdk1.8.0_162\jre,和最终生成的exe放到一个目录下,然后把Launch4j的JRE路径改成.\jre,说明运行的jre环境是同一目录的这个,生成exe
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第19张图片
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第20张图片
然后有两个方案:
方案一:把jre文件夹和exe程序打成压缩包,别人在使用时,不能移动任何一个文件夹的位置,否则会出现问题
方案二:直接打包成Setup文件,使用时先安装,后使用。

4.3.1 Inno Setup打包

我们来说方案二
首先去下载Inno Setup,是一个安装制作软件,使用其可以将多个文件/文件夹打包成安装包
官网:https://jrsoftware.org/isinfo.php
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第21张图片
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第22张图片

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

iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第25张图片
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第26张图片
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第27张图片

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

iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第29张图片
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第30张图片
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第31张图片
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第32张图片
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第33张图片
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第34张图片

iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第35张图片
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第36张图片
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第37张图片
如果在生成的过程中因为什么被打断了,可以通过如下按钮重新生成
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第38张图片
最终生成了一个Output文件夹
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第39张图片
打开之后就是安装包
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第40张图片
双击安装包试一下,大功告成!
iphone拷贝照片中间带E自动去重软件,以及java程序如何打包成jar和exe_第41张图片

4.4 附件下载

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

你可能感兴趣的:(java,jar,exe)