IP地址加时间戳加3位随机数
工作中经常用到时间戳加上3位随机数获得唯一流水号,下面是代码~
package com.pb.viewer.filename;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
/**
* 在上传文件的操作中,如果多个用户上传的文件名称一样,则肯定会发生覆盖的
* 情况,为了解决这个问题,可以采用为上传文件自动命名的方式
* 自动命名采用的的文件格式如下:IP地址+时间戳+三位随机数
*
* @author Voishion
*
*/
public class IPTimeStamp {
private SimpleDateFormat sdf = null;
private String ip = null;
private String filename = null;
public IPTimeStamp() {
}
public IPTimeStamp(String ip, String filename) {
this.ip = ip;
this.filename = filename;
}
/**
* 得到 IP地址+时间戳+三位随机数 的新文件名
* @return
*/
public String getIPTimeRandName(){
StringBuffer buf = new StringBuffer();
if(this.ip != null){
String str[] = this.ip.split("\\.");
for(int i = 0; i < str.length; i++){
buf.append(this.addZero(str[i], 3));
}
}//加上IP地址
buf.append(this.getTimeStamp());//加上日期
Random random = new Random();
for(int i = 0; i < 3; i++){
buf.append(random.nextInt(10));//取三个随机数追加到StringBuffer
}
buf.append("."+this.getFileExt());//加上扩展名
return buf.toString();
}
/**
* 补0操作【如果不够指定位数,则在前面补0】
* @param str
* @param len
* @return
*/
private String addZero(String str,int len){
StringBuffer s = new StringBuffer();
s.append(str);
while(s.length() < len){
s.insert(0, "0");
}
return s.toString();
}
/**
* 取得时间戳
* @return
*/
private String getTimeStamp(){
this.sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
return this.sdf.format(new Date());
}
/**
* 获取文件扩展名
* @return
*/
private String getFileExt(){
int i = this.filename.lastIndexOf(".");//返回最后一个点的位置
String extension = this.filename.substring(i+1);//取出扩展名
return extension;
}
}
IP地址加时间戳加3位随机数的更多相关文章
- ip地址的组成(网络位+主机位)
IP地址子网掩码都是32位的2进制,为了方便记忆转成10进制,通过子网掩码来区分网络位和主机位,子网掩码跟IP地址一一对应,子网掩码为1的是网络位,为0的是主机位.如:192.168.1.2 掩码25 ...
- IP地址 A\B\C类
互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),缩写为IP地址(IP Address),在Internet上,一种给主机编址的方式.常见的IP地址,分为 ...
- Windows 之 IP地址
IP地址是指互联网协议地址(Internet Protocol Address,又译为网际协议地址),是IP Address的缩写.IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络 ...
- IP地址的含义
不管是学习网络还是上网,IP地址都是出现频率非常高的词.Windows系统中设置IP地址的界面如图1所示,图中出现了IP地址.子网掩码.默认网关和DNS服务器这几个需要设置的地方,只有正确设置,网络才 ...
- windows之IP地址(一)
服务器: 顾名思义,是服务我们上网的机器.结构组成上和普通的PC结构相似,装了服务器版的系统后都可以作为服务器使用,但前者可靠性高.服务器是网络这个网上的中间节点,供每台终端进行访问.数据信息保存,有 ...
- 怎样快速对二进制和十进制进行互转化——IP地址规划与设计总结
转至:https://blog.csdn.net/erlian1992/article/details/47342189 最近一直在看全国计算机三级网络技术这本书,看到第二章的时候,不免会遇到计算机中 ...
- 如何在 Linux 中找到你的 公网IP 地址
每个网站都有一个独有的公开 IP 地址,可供任何人从任何地方访问. 互联网协议Internet Protocol(IP)不需要介绍 —— 我们每天都在使用它.即使你不直接使用它,当你在浏览器上输入 w ...
- 计算机网络学习笔记--网络层之IP地址与子网
IPv4地址: 我们知道在网络层(TCP/IP体系结构的网际互联层),最重要的一个协议就是IP协议,现在正处于IPv4和IPv6的过渡时期,但目前来说,IPv4仍为主流,所以主要讲Ipv4. IP地址 ...
- 虚拟机下Centos7如何设置静态IP地址
最近在学习linux环境部署~~~~ 首先,将网络适配设置成为桥接模式 查看本机IP地址,ipconfig,记住ipv4地址和默认网关地址,等会配置的时候要用 启动Centos,进入终端模式,设置IP ...
随机推荐
- kuangbin系列【简单搜索】
poj-1321棋盘问题[bfs/回溯] Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 36385 Accepted: ...
- JSK 18: 跳跃游戏
题目描述 给定一个非负整数数组,假定你的初始位置为数组第一个下标. 数组中的每个元素代表你在那个位置能够跳跃的最大长度. 请确认你是否能够跳跃到数组的最后一个下标. 例如:$A = [2,3,1,1, ...
- java copy array
13down voteaccepted Here's a java 1.4 compatible 1.5-liner: int[] array = { 1, 2, 3, 4, 5 }; int siz ...
- 【bzoj1123】【[POI2008]BLO】tarjan判割点
(上不了p站我要死了,侵权度娘背锅) Description Byteotia城市有n个 towns m条双向roads. 每条 road 连接 两个不同的 towns ,没有重复的road. 所有t ...
- stage 3d学习笔记
1. texture不能实例化,要创建一个texture对象,需要调用Context3D实例的createTexture(width:int, height:int, format:String, o ...
- About Markdown -- 进入Markdown园子
起初也就是打算简单一些Markdown在编辑Blog方面的一些常用操作和注意事项,没想到,一下没刹住,毫无防备地闯进了这个好趣的园子-. 1. 认识 Markdown HTML(HyperText M ...
- 实现微信朋友圈点击评论按钮时cell上移
实现场景:微信朋友圈TableView(BigTableView)的每一行cell都包含一个SmallTableView(显示所有点赞及评论) 实现思路: //BigTableView的content ...
- cocurrent包 锁 Lock
20. 锁 Lock java.util.concurrent.locks.Lock 是一个类似于 synchronized 块的线程同步机制.但是 Lock 比 synchronized 块更加灵活 ...
- linux selenium运行chrome
chrome版本要和chromedriver版本匹配才能正常运行.
- 遨游maxthon打开页面一片黑色,百度地图等黑屏解决办法
遨游maxthon使用webkit极速核心,打开百度地图等页面一片黑色,黑屏了. 找了好久,不知道什么问题. 版本一样,都是4.4.xxx版本.另外一台机器又正常. 后来上傲游社区,好多人也有这个问题 ...