import java.net.InetAddress;
import java.net.UnknownHostException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
/**
* 根据用户的IP地址以及当前系统时间生成一个文件名 192.168.100.252 取得其中的数字,共12位 2010-12-11
* 22:12:33.322,取得其中的数字,共17位。 再生成三位随机数,32位
*
* @author Administrator
*/
public class IPTimeStamp {
private String ip;
public IPTimeStamp() {
try {
// 获取本机IP地址
this.ip = InetAddress.getLocalHost().getHostAddress().toString();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public String getIPTimeStamp() {
String str = "";
if (ip != null) {
// 第一个\表示字符串的转义,而第二个\表示正则表达式对.的转义
String[] ips = ip.split("\\.");
for (int i = 0; i < ips.length; i++) {
str += addZero(ips[i], 3);
}
}
// 处理时间
SimpleDateFormat sf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
str += sf.format(new Date());
// 三位随机数
str += addZero(new Random().nextInt(1000) + "", 3);
return str;
}
/**
* 补0方法
* @param input
* 原始字符串
* @param length
* 补充到多少位
* @return
*/
private String addZero(String input, int length) {
for (int i = input.length(); i < length; i++) {
input = "0" + input;
}
return input;
}
public static void main(String[] args) {
System.out.println(new IPTimeStamp().getIPTimeStamp());
}
}