文件后缀命名

有时文件上传时,如果文件名相同,就容易出现各种问题,为了防止文件名相同,给文件名加上一个永不会重复的后缀。采取的是:ip地址+时间戳+三位随机数

示例代码:

import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.Random;
public class IPTimeStamp{
private SimpleDateFormat sdf=null;
private String ip=null;
public IPTimeStamp(){}
public IPTimeStamp(String ip){
       this.ip=ip;
}
public String getIPTimeRand(){ //得到ip地址+时间戳+三位随机数
      StringBuffer buf=new StringBuffer();
      if(this.ip!=null){
        String [] s=this.ip.split("\\.");//将ip以.进行拆分
      for(int i=0;i<s.length;i++){
buf.append(
this.addZero(s[i],3)); } } buf.append(this.getTimeStamp()); Random r=new Random(); for(int i=0;i<3;i++){ buf.append(r.nextInt(10)); } return buf.toString(); } private String addZero(String str, int len){//补零操作,不够长度的,在其前面不上0,可能不止补一个 StringBuffer s=new StringBuffer(); s.append(str); while(s.length()<len){ s.insert(0,"0"); } return s.toString(); } public String getDate(){//取得当前系统时间 this.sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); return this.sdf.format(new Date()); } public String getTimeStamp(){ this.sdf=new SimpleDateFormat("yyyyMMddHHmmssSSS");//取得时间戳 return this.sdf.format(new Date()); } }
public class Test{ public static void main(String[] args){ IPTimeStamp its=new IPTimeStamp("169.123.1.5");//进行测试,以169.123.1.5为例,每次生成的后缀名都不相同 System.out.println(its.getIPTimeRand()); } }

 

posted on 2016-04-28 18:17  doAction  阅读(248)  评论(0编辑  收藏  举报