场景

话不多说,直接上图.

不难看出,如果这是一个班级的同学所有文件夹,现在我需要将他们上传的视频作业汇集到一个文件夹里面,那我需要一个个点进去剪切,这很显然就很瓜皮。 这时候一串简单的代码就可以解决这个问题。

代码

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 ,直接上图

  1. 输入注册码完成之后:

  2. 第一步

  3. 第二步

  4. 第三步

    注意一下高级选项里面的32-bit or 64-bit ,你电脑是64位的需要把里面那个东西勾上,一般自动勾上的,注意一下,防止抽风。

  5. 第四步

这里也得注意,如果你在项目中使用了例如commons-lang之类的第三方jar,需要一起在这里引入哦。

  1. 第五步:这里就是填一下你的jre版本,我用的1.8
  2. 第六步
    一路 next ,完结。 然后去你前面填的地址,找到exe文件即可。
    双击运行,虽然啥也没有,但是你会看到 同目录下多出了 niubi文件夹,这就代表,该目录下所有文件夹内的视频文件都被移动到了niubi文件夹下。
    我的效果图就是最上面那张图。

【JAVA】将分散于多个文件夹的文件汇集于同一个文件相关推荐

  1. 同一个文件夹excel合并,以及同一个文件夹下特定sheet合并代码

    合并sheet1: Sub 合并当前目录下所有工作簿的全部工作表() Dim MyPath, MyName, AWbName Dim Wb As Workbook, WbN As String Dim ...

  2. eclipse 的Java Resource文件夹显示有错,可是文件夹下面的文件没有提示错误,这是怎么回事?怎么解决?

    eclipse 的Java Resource文件夹显示有错,可是文件夹下面的文件没有提示错误,这是怎么回事?怎么解决? 1.maven更新一下 2.或者把这个工程给删除了在创建一遍看看还有没有出 3. ...

  3. linux java读取文件夹下文件名,Java获取Linux上指定文件夹下所有第一级子文件夹...

    说明:需要只获得第一级文件夹目录 package com.sunsheen.jfids.studio.monitor.utils; import java.io.BufferedReader; imp ...

  4. Java读取文件夹下的所有文件名和文件内容

    读取文件夹下的所有文件名和文件内容 1. 读取指定目录下的每一个文件的文件名和文件内容 2. 并把文件名作为key,文件内容为value 存储在map集合中 3. 通过遍历map集合拿到我们需要的文件 ...

  5. 新建一个文件夹服务器,云服务器中新建文件夹命令

    云服务器中新建文件夹命令 内容精选 换一换 部署提供可视化.一键式部署服务,支持并行部署和流水线无缝集成,实现部署环境标准化和部署过程自动化.本节通过以下五步介绍如何使用部署服务将项目代码部署到云主机 ...

  6. 在考生文件夹存有JAVA3_注意:下面出现的“考生文件夹”均为%USER%在考生文件夹下存有文件名为J_网考网(Netkao.com)...

    [分析解答题] 注意:下面出现的"考生文件夹"均为%USER% 在考生文件夹下存有文件名为Java_2.java文件,本题功能是完成点定义,并输出点坐标.请完善Java_2.jav ...

  7. maven没有resource文件夹_maven项目中没有resource文件夹的问题

    之前使用eclipse创建maven项目,文件夹都是建好的,这几次创建,都没有resource文件夹,需要手动创建resource. 现象描述 在eclipse中,创建maven项目有两种方式: 一种 ...

  8. 服务器下最大能容量多少文件,windows下一个文件夹下面最多可以放多少文件(ntfs格式略过)...

    那么怎么来测试这样一个问题呢,很显然我们一个个的去建立文件是不现实的,没那么多时间,而且这个方法也太笨了.这里我们会用到批处理命令,新建一个bat文件,然后将"for /l %%a in ( ...

  9. ftp服务器怎么创建文件夹权限设置密码,ftp服务器 创建文件夹权限设置

    ftp服务器 创建文件夹权限设置 内容精选 换一换 请务必使用最新的补丁更新操作系统和相关软件(详情请参见系统要求(DSC)),以防漏洞和其他安全问题.为确保安全性,DSC会对其创建的文件和文件夹进行 ...

  10. xml遍历文件夹vector_怎么统计指定文件夹下含有.xml格式的文件数目

    如何统计指定文件夹下含有.xml格式的文件数目?如题 ------解决思路----------------------Directory.GetFiles(@"路径", " ...

最新文章

  1. CTA核心技术及应用峰会开幕!(附第二日参会攻略)
  2. Shader山下(二十一)多重变体(Multiple Variants)
  3. ROS学习之URDF
  4. (chap4 IP协议) 全局地址和私有地址
  5. OpenYurt 开箱测评 | 一键让原生 K8s 集群具备边缘计算能力
  6. 古典概型中的几何体计数
  7. 分析与设计数据库模型的简单过程
  8. linux内核修改工程环境,linux2.6.33内核移植s3c2410以和交叉环境编译搭建最终修改版.pdf...
  9. 如何在Spring中将@RequestParam绑定到对象
  10. 我最喜欢的Java高级开发人员书籍
  11. VS2019注释整段代码
  12. Leetcode 206. Reverse Linked List
  13. java对PPG的基线漂移的一种处理办法(中值滤波)
  14. ubuntu 16.04 手动安装Java过程
  15. html信纸效果,纯css3实现信纸/同学录效果(代码示例)
  16. 澳洲那个大学计算机专业好,澳洲哪个大学计算机专业比较好
  17. 贝壳DMP平台建设实践
  18. 『Java安全』反序列化-浅析Hessian反序列化POP链
  19. C语言打印某一年的日历 (2*6格式)
  20. matplotlib绘制3D图像

热门文章

  1. 线性规划技巧: 如何写对偶问题
  2. Scrapy爬虫方法
  3. 北京建委稳定房价细则出台 禁止预售房转让
  4. nginx格式化工具-nginxfmt
  5. linux下如何完全删除用户
  6. 北京未来7天限行查询易语言代码
  7. MVVM数据双向绑定
  8. Android 天天动听 悬浮歌词(迷你歌词)效果解读
  9. 如何找到一朵花的名字
  10. python 爬取糗事百科的段子