【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】将分散于多个文件夹的文件汇集于同一个文件相关推荐
- 同一个文件夹excel合并,以及同一个文件夹下特定sheet合并代码
合并sheet1: Sub 合并当前目录下所有工作簿的全部工作表() Dim MyPath, MyName, AWbName Dim Wb As Workbook, WbN As String Dim ...
- eclipse 的Java Resource文件夹显示有错,可是文件夹下面的文件没有提示错误,这是怎么回事?怎么解决?
eclipse 的Java Resource文件夹显示有错,可是文件夹下面的文件没有提示错误,这是怎么回事?怎么解决? 1.maven更新一下 2.或者把这个工程给删除了在创建一遍看看还有没有出 3. ...
- linux java读取文件夹下文件名,Java获取Linux上指定文件夹下所有第一级子文件夹...
说明:需要只获得第一级文件夹目录 package com.sunsheen.jfids.studio.monitor.utils; import java.io.BufferedReader; imp ...
- Java读取文件夹下的所有文件名和文件内容
读取文件夹下的所有文件名和文件内容 1. 读取指定目录下的每一个文件的文件名和文件内容 2. 并把文件名作为key,文件内容为value 存储在map集合中 3. 通过遍历map集合拿到我们需要的文件 ...
- 新建一个文件夹服务器,云服务器中新建文件夹命令
云服务器中新建文件夹命令 内容精选 换一换 部署提供可视化.一键式部署服务,支持并行部署和流水线无缝集成,实现部署环境标准化和部署过程自动化.本节通过以下五步介绍如何使用部署服务将项目代码部署到云主机 ...
- 在考生文件夹存有JAVA3_注意:下面出现的“考生文件夹”均为%USER%在考生文件夹下存有文件名为J_网考网(Netkao.com)...
[分析解答题] 注意:下面出现的"考生文件夹"均为%USER% 在考生文件夹下存有文件名为Java_2.java文件,本题功能是完成点定义,并输出点坐标.请完善Java_2.jav ...
- maven没有resource文件夹_maven项目中没有resource文件夹的问题
之前使用eclipse创建maven项目,文件夹都是建好的,这几次创建,都没有resource文件夹,需要手动创建resource. 现象描述 在eclipse中,创建maven项目有两种方式: 一种 ...
- 服务器下最大能容量多少文件,windows下一个文件夹下面最多可以放多少文件(ntfs格式略过)...
那么怎么来测试这样一个问题呢,很显然我们一个个的去建立文件是不现实的,没那么多时间,而且这个方法也太笨了.这里我们会用到批处理命令,新建一个bat文件,然后将"for /l %%a in ( ...
- ftp服务器怎么创建文件夹权限设置密码,ftp服务器 创建文件夹权限设置
ftp服务器 创建文件夹权限设置 内容精选 换一换 请务必使用最新的补丁更新操作系统和相关软件(详情请参见系统要求(DSC)),以防漏洞和其他安全问题.为确保安全性,DSC会对其创建的文件和文件夹进行 ...
- xml遍历文件夹vector_怎么统计指定文件夹下含有.xml格式的文件数目
如何统计指定文件夹下含有.xml格式的文件数目?如题 ------解决思路----------------------Directory.GetFiles(@"路径", " ...
最新文章
- CTA核心技术及应用峰会开幕!(附第二日参会攻略)
- Shader山下(二十一)多重变体(Multiple Variants)
- ROS学习之URDF
- (chap4 IP协议) 全局地址和私有地址
- OpenYurt 开箱测评 | 一键让原生 K8s 集群具备边缘计算能力
- 古典概型中的几何体计数
- 分析与设计数据库模型的简单过程
- linux内核修改工程环境,linux2.6.33内核移植s3c2410以和交叉环境编译搭建最终修改版.pdf...
- 如何在Spring中将@RequestParam绑定到对象
- 我最喜欢的Java高级开发人员书籍
- VS2019注释整段代码
- Leetcode 206. Reverse Linked List
- java对PPG的基线漂移的一种处理办法(中值滤波)
- ubuntu 16.04 手动安装Java过程
- html信纸效果,纯css3实现信纸/同学录效果(代码示例)
- 澳洲那个大学计算机专业好,澳洲哪个大学计算机专业比较好
- 贝壳DMP平台建设实践
- 『Java安全』反序列化-浅析Hessian反序列化POP链
- C语言打印某一年的日历 (2*6格式)
- matplotlib绘制3D图像