文件的上传下载
上传
文件上传下载的工具类
public class FileUtils {
//生成新的文件名
public static String makeFileName(String oldFilename) {
String UUIDName = UUID.randomUUID().toString().replace("-", "").substring(16);
UUIDName = UUIDName + "_" + oldFilename;
return UUIDName;
}
//生成新的路径
public static String makeDirectory(String realPath, String oldFilename) {
int hashCode = oldFilename.hashCode();
int dir1 = hashCode & 0xf;
int dir2 = (hashCode >> 4) & 0xf;
String path = realPath + File.separator + dir1 + File.separator + dir2;
File file = new File(path);
if (!file.exists()) {
file.mkdirs();
}
return path;
}
//遍历文件路径
public static void listDirectory(File dir, HashMap<String, String> hashMap){
//将dir下的所有文件遍历出来
File[] files = dir.listFiles();
if (files!=null){
for (File file : files) {
if (file.isDirectory()){
listDirectory(file,hashMap);
}else {
//将每个文件的带uuid的文件名作为key,不带uuid的文件名作为value
String uuidName = file.getName();
String name = uuidName.substring(uuidName.lastIndexOf("_")+1);
hashMap.put(uuidName,name);
}
}
}
}
}
上传页面
<%@ page contentType="text/html;charset=UTF-8" language=&#