zoukankan      html  css  js  c++  java
  • 根据文件名,随机分级保存文件

        用户上传的文件,保存在服务器本地。如果用户够多,那么用户通过上传操作,保存到服务器的文件也会越来越多。

        如果这些文件够多且只保存在一个文件夹里面的话,就会导致,文件夹打不开,甚至服务器崩溃。

        那么就需要小心的规划这些文件的保存位置,通常会给每个文件夹保存的文件设置一个上限。

        文件保存在什么位置,一般有两种方法。

        一种是:为每个用户单独的创建一个文件夹。然后再根据不同的文件生成不同文件夹。

        

        第二种是通过文件名32位的UUID随机生成8级数字目录,这样也能保证每个文件夹文件不会出现过多的现象。

        8级目录代码:

        String   name = UUIDUtil.getId();

        int   hashCode = name.hashCode();         //把32位的UUID字符串变成串二进制数。

        String  dir  =  "";

        for(int  i = 0;i  <  8;i++) {

          int  d  = hashCode & 0xf;                  //与上最大的16进制数,得到的就是最后4位的二进制,从而得到0~15的数

          dir  =  dir  + d  + "/";

          hashCode >>4;                               //二进制右移四位,刚好够移7次,得到8级目录

        }

                最后的dir就是一个8级目录地址。通常情况一般用不了8级,4级目录差不多够用了。

  • 相关阅读:
    Qt开发的应用记录读取用户习惯设置的方法
    Windows软件Everything的配置
    C语言的类型大小
    Petalinux和Vivado的安装
    Linux下MiniGUI库的安装
    Linux下的screen和作业任务管理
    Linux下的upx命令学习
    Linux下的strip命令学习
    地址解析协议(ARP)
    IP 地址结构
  • 原文地址:https://www.cnblogs.com/shizhongyang/p/7102293.html
Copyright © 2011-2022 走看看