【JAVA】将分散于多个文件夹的文件汇集于同一个文件
2021/6/6 20:28:55
本文主要是介绍【JAVA】将分散于多个文件夹的文件汇集于同一个文件,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
场景
话不多说,直接上图.
不难看出,如果这是一个班级的同学所有文件夹,现在我需要将他们上传的视频作业汇集到一个文件夹里面,那我需要一个个点进去剪切,这很显然就很瓜皮。 这时候一串简单的代码就可以解决这个问题。
代码
import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; import static java.nio.file.StandardCopyOption.REPLACE_EXISTING; public class MoveFile { public static void main(String[] args) { //这里是你想放文件的位置,例如:String targetPath = "E:\\haha\\hasd"; //这里这么写是为了后面做exe文件。 String targetPath = new File(System.getProperty("user.dir")) + File.separator + "niubi"; File targetDictionary = new File(targetPath); if (!targetDictionary.exists()) { boolean mkdirs = targetDictionary.mkdirs(); if (!mkdirs) { System.out.println("创建新文件失败!"); } } Path newPath = Paths.get(targetPath); List<String> list = loopReadFile(new File(System.getProperty("user.dir"))); for (String oldString : list) { Path oldPath = Paths.get(oldString); try { Files.move(oldPath, newPath.resolve(oldPath.getFileName()), REPLACE_EXISTING); } catch (IOException e) { e.printStackTrace(); } } } /** * 读取视频文件,统一放入一个文件夹 */ public static List<String> loopReadFile(File item) { List<String> backResult = new ArrayList<>(); if (item.isDirectory()) { File[] files = item.listFiles(); assert files != null; for (File f : files) { backResult.addAll(loopReadFile(f)); } } else { if (item.getName().endsWith(".mp4") || item.getName().endsWith(".mkv") || item.getName().endsWith(".TS") || item.getName().endsWith(".ts") || item.getName().endsWith(".avi") || item.getName().endsWith(".rmvb") || item.getName().endsWith(".wmv") || item.getName().endsWith(".MPEG") || item.getName().endsWith(".mov") || item.getName().endsWith(".flv")) { backResult.add(item.getAbsolutePath()); } } return backResult; } }
如果你只是单纯的想要运行程序来移动文件夹,那么这样按照你的需求修改目标路径
和文件所在路径
以及你想移动的文件类型
之后直接运行程序就ok了。
但是为了移动个文件,我还得打开IDEA?有这时间我干啥不香?
所以接下来,将这个程序做成.exe
文件,随用随点。
将jar制作成exe
PS:我的项目是maven项目,所以我打jar,只需如下命令
mvn clean package -DskipTests
命令运行完后,jar会出现在target
下面。
开始做jar
需要用一个工具: exe4j
下载地址: 官网
安装好之后,注册码填一下吧,我找了几个,先存着:
用户名和公司名可随便填 A-XVK258563F-1p4lv7mg7sav A-XVK209982F-1y0i3h4ywx2h1
不能用就百度,肯定有能用的。
操作开始,不多BB ,直接上图
-
输入注册码完成之后:
-
第一步
-
第二步
-
第三步
注意一下高级选项里面的32-bit or 64-bit
,你电脑是64位的需要把里面那个东西勾上,一般自动勾上的,注意一下,防止抽风。 -
第四步
这里也得注意,如果你在项目中使用了例如commons-lang
之类的第三方jar,需要一起在这里引入哦。
- 第五步:这里就是填一下你的jre版本,我用的1.8
- 第六步
一路next
,完结。 然后去你前面填的地址,找到exe文件即可。
双击运行,虽然啥也没有,但是你会看到 同目录下多出了niubi
文件夹,这就代表,该目录下所有文件夹内的视频文件都被移动到了niubi
文件夹下。
我的效果图就是最上面那张图。
这篇关于【JAVA】将分散于多个文件夹的文件汇集于同一个文件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-04TiDB 资源管控的对撞测试以及最佳实践架构
- 2024-07-03万字长文聊聊Web3的组成架构
- 2024-07-02springboot项目无法注册到nacos-icode9专业技术文章分享
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现