FileUploadUtil

简介: package com.css.common.util; import java.text.SimpleDateFormat; import java.util.Date; public class FileUploadUtil {  /**   * 生成文件名   *   * @param sp1   *            分隔前字符串   * @param se

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);
 }

}

目录
相关文章
|
4天前
|
弹性计算 安全 API
访问控制(RAM)|云上安全使用AccessKey的最佳实践
集中管控AK/SK的生命周期,可以极大降低AK/SK管理和使用成本,同时通过加密和轮转的方式,保证AK/SK的安全使用,本次分享为您介绍产品原理,以及具体的使用步骤。
101786 0
|
5天前
|
SQL 关系型数据库 分布式数据库
Doodle Jump — 使用Flutter&Flame开发游戏真不错!
用Flutter&Flame开发游戏是一种什么体验?最近网上冲浪的时候,我偶然发现了一个国外的游戏网站,类似于国内的4399。在浏览时,我遇到了一款经典的小游戏:Doodle Jump...
|
12天前
|
弹性计算 运维 安全
访问控制(RAM)|云上程序使用临时凭证的最佳实践
STS临时访问凭证是阿里云提供的一种临时访问权限管理服务,通过STS获取可以自定义时效和访问权限的临时身份凭证,减少长期访问密钥(AccessKey)泄露的风险。本文将为您介绍产品原理,以及具体的使用步骤。
151035 4
|
10天前
|
数据采集 存储 运维
提升团队工程交付能力,从“看见”工程活动和研发模式开始
本文从统一工程交付的概念模型开始,介绍了如何将应用交付的模式显式地定义出来,并通过工具平台落地。
119991 57
|
11天前
|
监控 负载均衡 Java
深入探究Java微服务架构:Spring Cloud概论
**摘要:** 本文深入探讨了Java微服务架构中的Spring Cloud,解释了微服务架构如何解决传统单体架构的局限性,如松耦合、独立部署、可伸缩性和容错性。Spring Cloud作为一个基于Spring Boot的开源框架,提供了服务注册与发现、负载均衡、断路器、配置中心、API网关等组件,简化了微服务的开发、部署和管理。文章详细介绍了Spring Cloud的核心模块,如Eureka、Ribbon、Hystrix、Config、Zuul和Sleuth,并通过一个电商微服务系统的实战案例展示了如何使用Spring Cloud构建微服务应用。
103503 8
|
12天前
|
人工智能 Serverless 对象存储
让你的文档从静态展示到一键部署可操作验证
通过函数计算的能力让阿里云的文档从静态展示升级为动态可操作验证,用户在文档中单击一键部署可快速完成代码的部署及测试。这一改变已在函数计算的活动沙龙中得到用户的认可。
120864 229
|
12天前
|
SQL 存储 数据可视化
Ganos H3地理网格能力解析与最佳实践
本文介绍了Ganos H3的相关功能,帮助读者快速了解Ganos地理网格的重要特性与应用实践。H3是Uber研发的一种覆盖全球表面的二维地理网格,采用了一种全球统一的、多层次的六边形网格体系来表示地球表面,这种地理网格技术在诸多业务场景中得到广泛应用。Ganos不仅提供了H3网格的全套功能,还支持与其它Ganos时空数据类型进行跨模联合分析,极大程度提升了客户对于时空数据的挖掘分析能力。
|
11天前
|
存储 缓存 安全
深度解析JVM世界:JVM内存结构
深度解析JVM世界:JVM内存结构
|
18天前
|
人工智能 编解码 对象存储
一键生成视频!用 PAI-EAS 部署 AI 视频生成模型 SVD 工作流
本教程将带领大家免费领取阿里云PAI-EAS的免费试用资源,并且带领大家在 ComfyUI 环境下使用 SVD的模型,根据任何图片生成一个小短视频。