全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

java利用时间格式生成唯一文件名的方法

前言

有时候我们需要截图,在要截图时,有人用到了时间格式,但是时间格式中的:在文件名称中是不被允许的字符,所以就会报错,如何生成唯一的时间文件名:

示例代码

package com.demo;
 
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
 
public class TimeString {
 
  private String valueOfString(String str, int len) {
    StringBuffer sb = new StringBuffer();
    for (int i = 0; i < len - str.length(); i++) {
      sb.append("0");
    }
    return (sb.length() == 0) ? (str) : (sb.toString() + str);
  }
   
  public String getDateFormat(){
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    return df.format(new Date());    
  } 
   
  public Date getDateFormat(String time){
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    try {
      return df.parse(time);
    } catch (ParseException e) {      
      e.printStackTrace();
    } 
    return null;
  }
 
  private String getTimeString(Calendar calendar) {   
    StringBuffer sb = new StringBuffer();
    sb.append(String.valueOf(calendar.get(Calendar.YEAR)))   
     .append(this.valueOfString(String.valueOf(calendar.get(Calendar.MONTH) + 1),2))
     .append(this.valueOfString(String.valueOf(calendar.get(Calendar.DAY_OF_MONTH)),2))
     .append(this.valueOfString(String.valueOf(calendar.get(Calendar.HOUR_OF_DAY)),2))
     .append(this.valueOfString(String.valueOf(calendar.get(Calendar.MINUTE)),2))
     .append(this.valueOfString(String.valueOf(calendar.get(Calendar.SECOND)),2))
     .append(this.valueOfString(String.valueOf(calendar.get(Calendar.MILLISECOND)),3));    
    return sb.toString();
  } 
   
  public String getTimeString(String time){
    Calendar calendar = new GregorianCalendar();
    calendar.setTime(this.getDateFormat(time));
    return this.getTimeString(calendar);
  }
   
  public String getTimeString(){
    Calendar calendar = new GregorianCalendar();
    return this.getTimeString(calendar);
  }
   
  public static void main(String[] args) {
    TimeString ts = new TimeString();
    System.out.println(ts.getTimeString());
    System.out.println(ts.getTimeString("2015-4-30 8:51:52"));
  }
}

虽然上面的getTimeString方法精确到了毫秒,但仍会有可能产生相同的文件名,导致覆盖,所以,在生成文件名时判断一下是否存在:

package com.demo;
 
import java.io.File;
 
public class Test16 {
   
  public String getFileName(String path){
    File file = new File(path);
    if(file.exists()){
      return this.getFileName(file.getParent()+File.separator+(new TimeString().getTimeString())+".png");
    }
    return path;
  }
   
  public static void main(String[] args) {
    Test16 t = new Test16();
    System.out.println(t.getFileName("D:/1.txt"));
  }
 
}

理论上来说,这种也是有可能产生相同的文件名的,这种在多线程中是有可能的,解决的办法很简单,自已动脑筋想想想去吧!

总结

以上就是关于JAVA中通过时间格式来生成唯一文件名的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。


# java  # 生成唯一文件名  # ava  # 生成文件名  # 生成唯一字符串  # java批量修改文件名的实现方法  # java基于Apache FTP实现文件上传、下载、修改文件名、删除  # Java批量修改文件名的实例代码  # Java实现读取文件夹下(包括子目录)所有文件的文件名  # java获取系统路径字体、得到某个目录下的所有文件名、获取当前路径  # java 文件名截取方法  # java字符串切割实例学习(获取文件名)  # 利用Java获取文件名、类名、方法名和行号的方法小结  # JavaWeb利用struts实现文件下载时改变文件名称  # Java获取文件夹下所有文件名称的方法示例  # Java实现简单修改文件名的方法分析  # 就会  # 会有  # 是有  # 有可能  # 很简单  # 想去  # 不被  # 报错  # 理论上  # 但仍  # 多线程  # 是否存在  # 有人用  # 有疑问  # str  # append  # sb  # valueOfString  # length  # StringBuffer 


相关文章: 如何获取上海专业网站定制建站电话?  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  电商网站制作公司有哪些,1688网是什么意思?  已有域名和空间,如何快速搭建网站?  网站制作培训多少钱一个月,网站优化seo培训课程有哪些?  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  威客平台建站流程解析:高效搭建教程与设计优化方案  免费ppt制作网站,有没有值得推荐的免费PPT网站?  如何高效利用亚马逊云主机搭建企业网站?  中山网站推广排名,中山信息港登录入口?  如何在Golang中处理模块冲突_解决依赖版本不兼容问题  网站建设制作、微信公众号,公明人民医院怎么在网上预约?  广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?  网站制作公司排行榜,四大门户网站排名?  昆明网站制作哪家好,昆明公租房申请网上登录入口?  淘宝制作网站有哪些,淘宝网官网主页?  建站之星如何实现网站加密操作?  Swift开发中switch语句值绑定模式  专业网站制作服务公司,有哪些网站可以免费发布招聘信息?  建站之星下载版如何获取与安装?  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  想学网站制作怎么学,建立一个网站要花费多少?  建站之星IIS配置教程:代码生成技巧与站点搭建指南  如何生成腾讯云建站专用兑换码?  打鱼网站制作软件,波克捕鱼官方号怎么注册?  官网建站费用明细查询_企业建站套餐价格及收费标准指南  网站建设设计制作营销公司南阳,如何策划设计和建设网站?  已有域名如何快速搭建专属网站?  高端企业智能建站程序:SEO优化与响应式模板定制开发  教育培训网站制作流程,请问edu教育网站的域名怎么申请?  义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?  如何配置FTP站点权限与安全设置?  如何快速搭建高效WAP手机网站吸引移动用户?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  一键网站制作软件,义乌购一件代发流程?  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  如何做静态网页,sublimetext3.0制作静态网页?  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  宝华建站服务条款解析:五站合一功能与SEO优化设置指南  如何在云主机快速搭建网站站点?  ,购物网站怎么盈利呢?  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  如何通过NAT技术实现内网高效建站?  如何在景安服务器上快速搭建个人网站?  活动邀请函制作网站有哪些,活动邀请函文案?  免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?  如何选择适配移动端的WAP自助建站平台?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。