IP地址+时间戳对文件进行重命名

在上传文件等操作中,我们为了不让文件名冲突,都会进行重命名操作,这里就介绍一个实现IP+时间戳的命名:

直接上代码了,也没什么好说的,实现还是挺简单的,不过实用

package com.xidian.bbs.util;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;

public class IpTimeStamp {
    private SimpleDateFormat sim=null;//用来获取时间
    private String ip=null;
    public IpTimeStamp(){
    }
    public IpTimeStamp(String ip){
        this.ip=ip;
    }
    public String getIpTimeRand(){
        StringBuffer sbf=new StringBuffer();
        if(this.ip!=null){
            String a[]=this.ip.split("\\.");                //根据点来拆分ip地址,但点要转义
            for(int i=0;i<a.length;i++){
                sbf.append(this.addZero(a[i], 3));            //调用补零的方法,每块ip不足三位的自动补足到三位
            }
            sbf.append(this.getTimeStamp());                //用this来调用外部的方法
            Random random=new Random();                        //要产生随机数
            for(int i=0;i<3;i++){                            //产生三位随机数
                sbf.append(random.nextInt(10));                //每位随机数都不超过10
            }
        }
        return sbf.toString();
    }
    @SuppressWarnings("unused")
    private String getDate(){                                //关于日期与时间的实现
        this.sim=new SimpleDateFormat("yyyy-mm-dd hh:mm:ss.SSS");
        return this.sim.format(new Date());
    }
    private String getTimeStamp(){                            //返回时间戳
        this.sim=new SimpleDateFormat("yyyymmddhhmmssSSS");
        return this.sim.format(new Date());
    }
    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();
    }
    
    //做测试
    public static void main(String [] ary){
        IpTimeStamp IpTimeStamp=new IpTimeStamp("172.168.3.222");//调用有参数的构造方法
        System.out.println(IpTimeStamp.getIpTimeRand());
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值