/**
* 根据文件路径和文件名创建文件对象
*
* @param path
* 文件路径
* @param absFileName
* 文件名
* @return file 返回的文件对象
*/
public static File getRealFileName(String path, String absFileName) {
String[] dirs = absFileName.split("/", absFileName.length());
File ret = new File(path);// 创建文件对象
if (dirs.length > 1) {
for (int i = 0; i < dirs.length - 1; i++) {
ret = new File(ret, dirs[i]);
}
}
if (!ret.exists()) {// 检测文件是否存在
ret.mkdirs();// 创建此抽象路径名指定的目录
}
ret = new File(ret, dirs[dirs.length - 1]);// 根据 ret 抽象路径名和 child
// 路径名字符串创建一个新 File 实例
return ret;
}
/**
* 移动源路径下的所有文件到目标路径
*
* @param srcpath
* 源路径
* @param destpath
* 目标路径
* @return
*/
public static String moveFile(String srcpath, String destpath) {
File src = new File(srcpath); // 原路径文件
File dest = new File(destpath); // 新路径文件
// 目标路径不存在则创建
if (!dest.exists())
dest.mkdirs();
// 取出源路径下的所有file
File[] files = src.listFiles();
for (int i = 0; i < files.length; i++) {
File fileold = files[i];
String name = fileold.getName(); // 旧文件name
File filenew = new File(dest, name); // 创建新文件
if (fileold.isDirectory()) { // 如果是文件夹
// 路径不存在则创建
if (!filenew.exists())
filenew.mkdirs();
// 移动旧文件夹下所有文件到新路径下
moveFile(fileold.getPath(), filenew.getPath());
continue;
}
// 把旧文件重命名到新文件,既为移动
fileold.renameTo(filenew);
}
return destpath;
}
/**
* 删除目录或文件
*
* @param dir
*/
public static void deleteFolder(File dir) {
File filelist[] = dir.listFiles();
for (int i = 0; i < filelist.length; i++) {
if (filelist[i].isDirectory()) {
deleteFolder(filelist[i]);
} else {
filelist[i].delete();
}
}
dir.delete();// 删除当前目录
}