java移动文件到另一个文件夹中

今天下载了好多视频文件都放在了F:盘中,由于F盘的视频文件比较多,而且存放的每个文件夹中都有,于是我就想把所有的视频文件重新整理放到一个新的文件夹中。
由于本人比较懒,不想手动操作,感觉自己的动手的话操作的步骤繁多,而且还不一定能把所有的视频文件都给找出来。
懒人定有懒人的做法,于是我就写了一段代码,让代码替我实现,不多说了,直接贴代码,相信大家都可以看懂的。
我以F:/迅雷下载/javamail文件夹为例,如果想换路径,直接修改oldpath就可以了
我的所有视频文件都是 .avi结尾,如果想换.jpg  .mp3 什么的自己修改contains

package com.move;
import java.io.File;
public class MoveFiles {
	static String oldpath = "F:"+File.separator+"迅雷下载"+File.separator+"javamail";
	static String newpath = "f:"+File.separator+"file"+File.separator;
	static String contains = ".avi";
	public static void main(String[] args){
		File filePath = new File(oldpath);
		if (filePath.exists()) {
			showAllFiles(filePath);
			System.out.println("success");
		} else {
			System.out.println("error");
		}
	}
	final static void showAllFiles(File dir) {
		File[] fs = dir.listFiles();
		for (int i = 0; i < fs.length; i++) {
			String str = fs[i].getAbsolutePath();
			if (str.contains(contains)) {
				File oldFile = new File(str);
				File fnewpath = new File(newpath);
				if (!fnewpath.exists())
					fnewpath.mkdirs();
				File fnew = new File(newpath + oldFile.getName());
				oldFile.renameTo(fnew);
			}
			if (fs[i].isDirectory()) {
				try {
					showAllFiles(fs[i]);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
	}
}

你可能感兴趣的:(java,File,递归文件夹,move,java递归,java移动文件)