FileUploadUtil
package com.css.common.util;
import java.text.SimpleDateFormat;
import java.util.Date;
public class FileUploadUtil {
/**
* 生成文件名
*
* @param sp1
* 分隔前字符串
* @param separator
* 分隔符号
* @param sp2
* 分隔后字符串
* @param fileExt
* 文件扩展名
* @return
*/
public static String createFileName(String sp1, String separator,
String sp2, String fileExt) {
StringBuffer fileName = new StringBuffer();
if (sp1 != null && !"".equals(sp1)) {
fileName.append(sp1);
}
if (separator != null && !"".equals(separator)) {
fileName.append(separator);
}
if (sp2 != null && !"".equals(sp2)) {
fileName.append(sp2);
}
fileName.append(".");
fileName.append(fileExt);
return fileName.toString();
}
/**
* 创建唯一文件名
*
* @return
*/
public static String createFileName() {
String dfile = getCurrentYMR("");
String unique = createUnique();
return dfile + "_" + unique;
}
/**
* 创建唯一标识<br/> 描述:6位数 = 4位日期 + 2位随机
*
* @return
*/
public static String createUnique() {
String curTimeStr = String.valueOf(System.currentTimeMillis());// 获取系统当前时间
curTimeStr = curTimeStr.substring(curTimeStr.length() - 4, curTimeStr
.length());// 取系统的后4位数
int randomNum = new java.util.Random().nextInt(90) + 10;// 随机生成2位数
String randomNumStr = String.valueOf(randomNum);// 取系统的后4位数 + 随机生成2位数
return curTimeStr + randomNumStr;
}
/**
* 创建文件名
*
* @param imgSize
* 图片大小
* @param fileExt
* 文件扩展名
* @return
*/
public static String createFileName(String imgSize, String fileExt) {
String dfile = getCurrentYMR("");
String unique = createUnique();
return createFileName(dfile + "_" + unique, "_", imgSize, fileExt);
}
/**
* 得到当前日期
*
* @param separator
* 分隔符号
* @return
*/
public static String getCurrentYMR(String separator) {
String s = separator == null ? "" : separator;
String dfile = getYear() + s + getMonth() + s + getDay();
return dfile;
}
/**
* 年
*
* @return
*/
public static String getYear() {
Date date = new Date();
return convertDateToString("yyyy", date);
}
/**
* 月
*
* @return
*/
public static String getMonth() {
Date date = new Date();
return convertDateToString("MM", date);
}
/**
* 日
*
* @return
*/
public static String getDay() {
Date date = new Date();
return convertDateToString("dd", date);
}
/**
* 日期转换
*
* @param aMask
* @param aDate
* @return
*/
public static String convertDateToString(String aMask, Date aDate) {
SimpleDateFormat df = null;
try {
df = new SimpleDateFormat(aMask);
} catch (Exception ex) {
ex.printStackTrace();
}
return df.format(aDate);
}
}
FileUploadUtil相关推荐
- fastdfs上传文件资料(PDF,视频,图片,FileCaseUtil,FileUploadUtil)并生成缩略图
javacv里面有类型转换器的使用,对视频图片的处理工具等等 一.UML图 二.代码 pom依赖 <!-- fastdfs--><dependency><groupId& ...
- spring boot 文件上传工具类(bug 已修改)
以前的文件上传都是之前前辈写的,现在自己来写一个,大家可以看看,有什么问题可以在评论中提出来. 写的这个文件上传是在spring boot 2.0中测试的,测试了,可以正常上传,下面贴代码 第一步:引 ...
- Java项目:茶叶售卖商城系统(java+SSM+JSP+EasyUi+mysql)
源码获取:博客首页 "资源" 里下载! 这是一个应用SSM框架的项目,前端页面整洁清晰.该系统有两个角色,一个是普通用户,另一个是管理员. 普通用户具有注册.登录.查看商品.添加购 ...
- 楼盘历史价格管理导入功能优化
备注:红色为重点关注的内容,绿色表示修改的内容 1.原始代码 ToolHistoricalPriceControl.java @RequestMapping("fileImport" ...
- Spring加载properties文件的两种方式
2019独角兽企业重金招聘Python工程师标准>>> 在项目中如果有些参数经常需要修改,或者后期可能需要修改,那我们最好把这些参数放到properties文件中,源代码中读取pro ...
- Java实现上传文件到指定服务器指定目录
前言需求 使用freemarker生成的静态文件,统一存储在某个服务器上.本来一开始打算使用ftp实现的,奈何老连接不上,改用jsch.毕竟有现成的就很舒服,在此介绍给大家. 具体实现 引入的pom ...
- SpringBoot中在普通类里面加载Spring容器中的类
前言 在我们的工作中,经常会遇到需要在普通类中使用放在Spring容器中的类的情况.最常见的情况大概就是有一个类他的属性的是通过spring的配置文件读取的.这样这个类必然要交给Spring容器进行管 ...
- Spring mvc,uploadifive 文件上传实践(转自:https://segmentfault.com/a/1190000004503262)
1.前台页面: 引入js和css 全选复制放进笔记 <link type="text/css" rel="stylesheet" href=&quo ...
- 28个Java常用的工具类
源码下载:http://pan.baidu.com/s/1pJLSczD Base64.java Base64DecodingException.java CConst.java CharTools. ...
最新文章
- Symbian 编程总结导读
- Scala数组遍历:使用for和foreach
- 01.elasticsearch metric aggregation 查询
- why settype transport is not available in AG9 but works in AG3
- 寂寞的hasLayout
- tab栏切换制作(原生js版本)
- uushare.com 增加了小组(群)功能
- git branch看不到分支_这份Git 日常操作清单,你都用到了吗
- 工作流_JBPM之Helloword
- VBScript 教程
- 云打码案例 python
- woocommerce 下单失败也会清空购物车
- kali安装wps办公软件
- 5G无线定位技术标准化及发展趋势
- Nginx+keepalived 高可用双机热备(主从模式/双主模式)
- 完整技术帖,看美剧学英语之法
- 还有人在质疑数据挖掘是泡沫吗?千万不要叶公好龙
- 2016全球大数据战略版图剖析(6):应用篇下
- 唯品会获得商品详情 API接口
- sql查询语句--wher后不能放聚集函数的解决办法
热门文章
- VTK:标记数据映射器用法实战
- boost::mpl模块实现lower_bound相关的测试程序
- boost::math模块计算艾里函数的零点的测试程序
- boost::histogram::accumulators::count用法的测试程序
- boost::contract模块实现private protected的测试程序
- ITK:用常量填充图像
- DCMTK:用于管理常见细分特定类型的类
- DCMTK:测试DcmSCP和DcmSCU类
- VTK:Points之DensifyPoints
- VTK:Filtering之CombinePolyData