碰到一个简单的业务, 这个文件在某个文件夹下存在,则删除该文件,剔除多余; 温故下以前只是,纯手写;
话不多少,直接上代码;
package com.test;
import java.io.File;
/**
* <p class="detail">
* 功能:
* 1. 比对2个文件夹,某个文件下已存在,则删除改文件
* 2. 删除某文件下指定匹配文件名(开头or后缀)的文件
* </p>
*
* @ClassName: DelDataFile
* @version V1.0
* @date 2016-12-5
*/
public class DelDataFile {
/**
* <p class="detail">
* 功能:删除某文件下指定匹配文件名(开头or后缀)的文件
* startsWith 判断字符串a 是不是以字符串b开头.
* endsWith 判断字符串a 是不是以字符串b结尾.
* </p>
* @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;
}
/**
* <p class="detail">
* 功能:删除已存在文件
* path: 资源目录 (40库目录)
* exitPath : 资源目录已存在文件 则因多余 而 删除 (本地目录)
* </p>
* @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;
}
/**
* <p class="detail">
* 功能:删除文件
* </p>
*
* @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);
}
}