碰到一个简单的业务, 这个文件在某个文件夹下存在,则删除该文件,剔除多余; 温故下以前只是,纯手写;
话不多少,直接上代码;
package com.test;import java.io.File;/** ** 功能: * 1. 比对2个文件夹,某个文件下已存在,则删除改文件 * 2. 删除某文件下指定匹配文件名(开头or后缀)的文件 *
* * @ClassName: DelDataFile * @version V1.0 * @date 2016-12-5 */public class DelDataFile { /** ** 功能:删除某文件下指定匹配文件名(开头or后缀)的文件 * startsWith 判断字符串a 是不是以字符串b开头. * endsWith 判断字符串a 是不是以字符串b结尾. *
* @author damowang * @param path : 要删除的文件的文件夹的路径 * @param str : 要匹配的字符串的头 * @return * @throws */ public static boolean delFilesByPath(String path, String str) { boolean b = false; File file = new File(path); File[] tempFile = file.listFiles(); for (int i = 0; i < tempFile.length; i++) { if (tempFile[i].getName().startsWith(str) || tempFile[i].getName().endsWith(str)) { boolean del = deleteFile(path + tempFile[i].getName()); if (del) { System.out.println("文件" + tempFile[i].getName() + "删除成功"); b = true; } else { System.out.println("文件" + tempFile[i].getName() + "删除失败"); } } } return b; } /** ** 功能:删除已存在文件 * path: 资源目录 (40库目录) * exitPath : 资源目录已存在文件 则因多余 而 删除 (本地目录) *
* @author damowang * @param path * @param exitPath * @return * @throws */ public static boolean delFilesByExit(String path, String loaclPath) { boolean b = false; File file = new File(path); File[] tempFile = file.listFiles(); File localFile = new File(loaclPath); File[] localFiles = localFile.listFiles(); String fileName=""; String localFileName=""; // 循环源文件 for (int i = 0; i < tempFile.length; i++) { fileName = tempFile[i].getName(); //System.out.println("40库名:"+fileName); for (int j = 0; j < localFiles.length; j++) { localFileName = localFiles[j].getName(); //System.out.println("本地资源名: "+localFileName); // 本地jar与40jar一致,则删除 if(localFileName.equals(fileName)){ boolean del = deleteFile(loaclPath + localFileName); if (del) { System.out.println("文件" + localFileName + "删除成功"); b = true; } else { System.out.println("文件" + localFileName + "删除失败"); } } } } return b; } /** ** 功能:删除文件 *
* * @author damowang * @param path * @return * @throws */ private static boolean deleteFile(String path) { boolean del = false; File file = new File(path); System.out.println(path); if (file.isFile()) { file.delete(); del = true; } return del; } public static void main(String[] args) { // TODO Auto-generated method stub String path = "D:/Users/Administrator/Desktop/公共包"; String loaclPath = "F:/workSpaces/myEclipse10WorkSpace2/inNang/WebRoot/WEB-INF/lib/"; delFilesByExit(path,loaclPath); }}