java实现文件的上传和下载功能
准备工作
(视频教程推荐:java课程)
需要导入的jar包
每个属性表示的内容
每个属性表示的内容
工具类servletpublic class UploadUtils {
public static void main(String[] args) {
String s = makeNewFileName("aaa.jpg");
System.out.println(s);
}
/**
* 根据原始文件名产生一个新的文件名
* @param filename
* @return
*/
public static String makeNewFileName(String filename){
//UUID 统一唯一标识码
String uuid = UUID.randomUUID().toString().replace("-", "");//默认32位的16进制
return uuid+"_"+filename;
}
/**
* 创建新的路径
* @param path
* @param filename
* @return
*/
public static String makeNewPath(String path,String filename){
int num = filename.hashCode();//01101011001011011111111111 1111 0101 0101
int path1=num&0xf;
int path2=(num>>4)&0xf;
String newPath=path+ File.separator+path1+File.separator+path2;
File dir=new File(newPath);
if(!dir.exists()){
dir.mkdirs();
}
return newPath;
}
//遍历可以被下载的文件
public static void listFile(File dir,HashMap map){
File[] files = dir.listFiles();
if(files!=null&&files.length>0){
for (File file : files) {
if(file.isDirectory()){
listFile(file, map);
}else{
//文件
String uuidFilename=file.getName();
String filename=uuidFilename.substring(uuidFilename.indexOf("_")+1);
map.put(uuidFilename,filename);
}
}
}
}
}
相关教程推荐:java入门教程
java实现文件的上传和下载功能的教程已介绍完毕,更多请关注跳墙网其他文章教程!
java实现文件的上传和下载功能相关教程