文件上传目录(哈希目录)
来源:互联网 发布:一战往事知乎 编辑:程序博客网 时间:2024/04/28 17:24
1.文件重名问题
UUID+"文件名"
2.目录问题
利用文件名的hashcode来创建目录
目录效果如下(每级是16个)
以下是例子
1.写个工具类
package cn.jwj.utils;import java.io.File;import java.util.UUID; public class FileUtils {public static String makePath(String filename,String savepath){int hashcode=filename.hashCode();int dir1=hashcode&0xf;//生成一级目录取哈希码的后4为值范围:0-15int dir2=(hashcode&0xf0)>>4;//二级目录 可以根据需要多分级String path=savepath+"\\"+dir1+"\\"+dir2;File file=new File(path);if(!file.exists()){file.mkdirs();//创建目录}return dir1+"\\"+dir2+"";//返回分级目录路径(注意不是全路径)}public static String makeFilename(String filename){return UUID.randomUUID().toString()+"_"+filename;}2.保存文件(我用了struts2的文件上传)以下是保存文件的方法(异常暂不管)public void savelogo() {String path;String filename;try {path=FileUtils.makePath(this.getUploadFileName(), this.getSavePath());filename=FileUtils.makeFilename(this.getUploadFileName());user.setLogo(path+"\\"+filename);} catch (Exception e1) {e1.printStackTrace();}try {FileOutputStream fos = new FileOutputStream(this.getSavePath()+"\\"+user.getLogo());FileInputStream fins = new FileInputStream(this.getUpload());byte[] buffer = new byte[1024];int len = 0;while ((len = fins.read(buffer)) > 0) {fos.write(buffer, 0, len);}fosins.close();fos.close(); } catch (FileNotFoundException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();} }
0 0
- 文件上传目录(哈希目录)
- CI 文件上传 --文件上传目录
- apache文件上传,目录打散
- 上传文件并目录打散
- 上传文件之目录处理
- 上传文件到指定目录
- Servlet演示文件上传和下载(打乱文件目录)
- SFTP中创建文件目录,上传文件(*)
- javaEE文件上传、目录打散、文件重命名
- SFTP中创建文件目录,上传文件(*)
- (go) 上传文件ta3 专用(无多级目录)
- PHP上传文件到指定目录(Zend Studio 12.5)
- java-ftp 上传、删除文件(支持中文目录、文件名)
- 百度云(BAE)文件上传目录问题-yellowcong
- servlet3.0完成文件上传(目录分离算法)
- java-FTPClient-ftp 上传文件、创建目录(支持中文目录、文件名)
- PHP创建多级目录并上传文件
- PHP创建多级目录并上传文件
- Terminal initialization failed; falling back to unsupported
- 福州大学第十二届程序设计竞赛-G - Escape
- 【HDU】2041-超级楼梯
- 如何阅读一本书(5)
- SPOJ 1812 LCS2 后缀自动机
- 文件上传目录(哈希目录)
- (LeetCode 231)Power of Two
- gen_server
- 再聊用strace来定位没有core文件的core dump
- 福州大学第十二届程序设计竞赛-H - 最小花费
- HashSet下的字符串排序,关键字,HashSet转TreeSet()
- flask安装mysql-python出错(环境ubuntu14.04)
- 高级工程师面试经验宝典
- XXE漏洞——XML实体定义引起的兼容性问题