使用Hash算法,根据文件名算出文件存放路径

上传文件到服务器时,为防止一个目录下面出现太多文件,使用hash算法打散存储

private String makePath(String filename,String savePath){
         //得到文件名的hashCode的值,得到的就是filename这个字符串对象在内存中的地址
         int hashcode = filename.hashCode();
         int dir1 = hashcode&0xf;  //0--15
         int dir2 = (hashcode&0xf0)>>4;  //0-15
         //构造新的保存目录
         String dir = savePath + "\\" + dir1 + "\\" + dir2;
         //File既可以代表文件也可以代表目录
         File file = new File(dir);
         //如果目录不存在
         if(!file.exists()){
             //创建目录
             file.mkdirs();
         }
         return dir;
}

 

你可能感兴趣的:(javaweb)