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