文件后缀命名
有时文件上传时,如果文件名相同,就容易出现各种问题,为了防止文件名相同,给文件名加上一个永不会重复的后缀。采取的是: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()); } }