话不多说,直接上图.
不难看出,如果这是一个班级的同学所有文件夹,现在我需要将他们上传的视频作业汇集到一个文件夹里面,那我需要一个个点进去剪切,这很显然就很瓜皮。 这时候一串简单的代码就可以解决这个问题。
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
文件,随用随点。
PS:我的项目是maven项目,所以我打jar,只需如下命令
mvn clean package -DskipTests
命令运行完后,jar会出现在target
下面。
需要用一个工具: exe4j
下载地址: 官网
安装好之后,注册码填一下吧,我找了几个,先存着:
用户名和公司名可随便填 A-XVK258563F-1p4lv7mg7sav A-XVK209982F-1y0i3h4ywx2h1
不能用就百度,肯定有能用的。
操作开始,不多BB ,直接上图
输入注册码完成之后:
第一步
第二步
第三步
注意一下高级选项里面的32-bit or 64-bit
,你电脑是64位的需要把里面那个东西勾上,一般自动勾上的,注意一下,防止抽风。
第四步
这里也得注意,如果你在项目中使用了例如commons-lang
之类的第三方jar,需要一起在这里引入哦。
next
,完结。 然后去你前面填的地址,找到exe文件即可。niubi
文件夹,这就代表,该目录下所有文件夹内的视频文件都被移动到了niubi
文件夹下。