移动指定文件夹内的全部文件

时间:2021-08-25 12:33:51
package com.shop.utils;

import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class MoveFile {

/**
* 移动指定文件夹内的全部文件
*
* @param fromDir
* 要移动的文件目录
* @param toDir
* 目标文件目录
* @throws Exception
*/
public static void fileMove(String from, String to) throws Exception {
try {


File dir = new File(from);

System.out.println(from+" ------=============");
// 文件一览
File[] files = dir.listFiles();

if (files == null)
return;
// 目标
File moveDir = new File(to);
if (!moveDir.exists()) {
moveDir.mkdirs();
}
// 文件移动


for (int i = 0; i < files.length; i++) {

int filesize = files[i].getName().length();
String str = files[i].getName().substring(files[i].getName().lastIndexOf(".")+1);
//System.out.println( files[i].getName()+" ====== "+files[i].getName().length());

if( filesize >=6 && "jpg".equals(str)) {

if (files[i].isDirectory()) {


fileMove(files[i].getPath(), to + "\\" + files[i].getName());
// 成功,删除原文件
files[i].delete();
}

File moveFile = new File(moveDir.getPath() + "\\" + files[i].getName());

// 目标文件夹下存在的话,删除
if (moveFile.exists()) {
moveFile.delete();
}
files[i].renameTo(moveFile);
}

}
} catch (Exception e) {
throw e;
}

}

public static List<String> paramStr(String from) {

File file = new File(from);
File[] files = file.listFiles();

List<String> list = new ArrayList<String>();

for (int i = 0; i < files.length; i++) {
if(files[i].isDirectory()) {
String ss = files[i].getPath().substring(files[i].getPath().lastIndexOf("\\")+1);
list.add(ss);
}
}
return list;
}


public static void main(String[] args) throws Exception {


List<String> list = paramStr("F:\\电影\\新建文件夹 (2)\\");
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
String str = (String) iterator.next();
System.out.println(str+" <------------");

MoveFile.fileMove("F:\\电影\\新建文件夹 (2)\\"+str, "F:\\电影\\新建文件夹 (3)");
}

}

}