java利用时间格式生成唯一文件名的方法
发布时间 - 2026-01-10 22:35:32 点击率:次前言

有时候我们需要截图,在要截图时,有人用到了时间格式,但是时间格式中的:在文件名称中是不被允许的字符,所以就会报错,如何生成唯一的时间文件名:
示例代码
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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
高端网站建设与定制开发一站式解决方案 中企动力
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
*服务器网站为何频现安全漏洞?
lovemo网页版地址 lovemo官网手机登录
Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】
动图在线制作网站有哪些,滑动动图图集怎么做?
微信小程序 HTTPS报错整理常见问题及解决方案
php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】
javascript读取文本节点方法小结
JavaScript如何操作视频_媒体API怎么控制播放
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
Java遍历集合的三种方式
如何在万网主机上快速搭建网站?
Windows10如何更改计算机工作组_Win10系统属性修改Workgroup
如何在Windows服务器上快速搭建网站?
利用vue写todolist单页应用
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】
桂林网站制作公司有哪些,桂林马拉松怎么报名?
如何获取免费开源的自助建站系统源码?
如何正确选择百度移动适配建站域名?
如何确保FTP站点访问权限与数据传输安全?
Linux系统命令中tree命令详解
Laravel如何自定义错误页面(404, 500)?(代码示例)
Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践
简单实现jsp分页
Laravel怎么实现支付功能_Laravel集成支付宝微信支付
如何在服务器上配置二级域名建站?
今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】
Laravel观察者模式如何使用_Laravel Model Observer配置
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
android nfc常用标签读取总结
php485函数参数是什么意思_php485各参数详细说明【介绍】
如何在IIS中新建站点并配置端口与IP地址?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
简历在线制作网站免费版,如何创建个人简历?
使用C语言编写圣诞表白程序
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
如何在景安服务器上快速搭建个人网站?
魔方云NAT建站如何实现端口转发?
Laravel PHP版本要求一览_Laravel各版本环境要求对照
Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】
Laravel如何配置Horizon来管理队列?(安装和使用)
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率
Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能
佛山网站制作系统,佛山企业变更地址网上办理步骤?
微信推文制作网站有哪些,怎么做微信推文,急?
Laravel怎么实现微信登录_Laravel Socialite第三方登录集成
Laravel怎么使用Intervention Image库处理图片上传和缩放

