简单实现访问指定文件夹 修改文件名称并移动到新的目标文件夹

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35027520/article/details/83005087

今天分到一个任务,让我调查一下怎样访问指定文件夹,修改文件夹及下级文件夹目录下所有符合条件的图片,修改图片名称后,将图片移动到新的目标文件夹,如果新文件夹存在则清空该文件夹下所有子文件夹和文件,如果不存在则创建新的目标文件夹,通过一番调查,简单的实现了这个功能,现在将测试代码分享如下。

1、创建delAllFile(String path)方法 实现对目标文件夹的要求:存在则清空;不存在则创建

public static void delAllFile(String path) {
	File file = new File(path);
	//判断目标文件夹不存在
	if (!file.exists() || !file.isDirectory()) {
		//创建目标文件夹
		file.mkdirs();
	}
	String[] tempList = file.list();
	File temp = null;
	for (int i = 0; i < tempList.length; i++) {
		if (path.endsWith(File.separator)) {
			temp = new File(path + tempList[i]);
		} else {
			temp = new File(path + File.separator + tempList[i]);
		}
		//如果是文件 选择删除
		if (temp.isFile()) {
			temp.delete();
		}
		//如果是文件夹 
		if (temp.isDirectory()) {
			// 先删除文件夹里面的文件
			delAllFile(path + "/" + tempList[i]);
			// 再删除空文件夹
			delFolder(path + "/" + tempList[i]);
		}
	}
}

2、创建delFolder(String path)方法 用来删除文件夹

public static void delFolder(String folderPath) {
	try {
		 // 首先调用delAllFile方法清空文件夹
		delAllFile(folderPath);
		String filePath = folderPath;
		filePath = filePath.toString();
		File myFilePath = new File(filePath);
		// 删除空文件夹
		myFilePath.delete(); 
	} catch (Exception e) {
		e.printStackTrace();
	}
}

3、创建renameMethod(String path1,String path2) 实现重命名并保存到指定文件夹的要求

public static void renameMethod(String path1, String path2) {
	//path1 为文件原有路径
	File file = new File(path1);
	//path2 为文件目标路径
	File newfile = new File(path2);
	// 目录文件夹绝对路径
	String newPath = newfile.getAbsolutePath();
	//isDirectory() 判断是否是文件夹
	if (file.isDirectory()) {
		// 获取此目录下的文件列表
		File[] files = file.listFiles();
		for (File fileFrom : files) {
			// 得到单个文件名
			String fromFile = fileFrom.getName();
			if (fileFrom.isDirectory()) {
				//递归 如果是文件夹 继续调用本方法
				renameMethod(fileFrom.getPath(), path2);
			}
			//测试中 我以文件后缀名".jpg"为条件 找出符合条件的图片进行重命名操作
			if (fromFile.endsWith(".jpg")) {
				//文件名后追加test 生成目标文件
				fromFile = fromFile.substring(0, fromFile.lastIndexOf(".jpg")) + "test.jpg";
				String toFileName = newPath + "/" + fromFile;
				File toFile = new File(toFileName);
				//原有文件存在且目标文件不存在
				if (fileFrom.exists() && !toFile.exists()) {
					// 开始更名
					fileFrom.renameTo(toFile);
				}
			}
		}
	}
}

4、生成main方法调用renameMethod(String path1,String path2)

public static void main(String[] args) {
	//定义文件原有路径和新生成文件的目标路径
	String path1 = "C:\\Users\\ibm\\Desktop\\path1";
	String path2 = "C:\\Users\\ibm\\Desktop\\path2 ";
	//判断目标文件夹是否存在 存在则清空 不存在则创建
	delAllFile(path2);
	renameMethod(path1,path2);
}

猜你喜欢

转载自blog.csdn.net/qq_35027520/article/details/83005087
今日推荐