Java - 随机文件名生成 - 根据当前时间创建文件夹 - 文件上传后,放置到指定目录下(transferTo方式)

2023-11-14

一、随机文件名生成 具体代码演示:

UUID 模块是内置的:


public static String getRandomName(String fileName) {
        int index = fileName.lastIndexOf(".");
        String extension = fileName.substring(index);//获取后缀名
        String uuidFileName = UUID.randomUUID().toString().replace("-", "") + extension;
        return uuidFileName;
}

二、根据当前时间创建文件夹

import java.time.LocalDate;
import com.ruoyi.common.utils.StringUtils;

public static String getDateDir(String fileName) {
	String dataUrl =  LocalDate.now().toString().replace("-","/")+"/";
	System.out.println(dataUrl);

	String newDir = StringUtils.format("{}/", dataUrl);
	System.out.println(newDir );
	return newDir 
	}

输出效果:

/2023/9/15/

三、文件上传后,放置到指定目录下

import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.nio.file.Paths;


public static String getDateDir(String fileName) {
	String dataUrl =  LocalDate.now().toString().replace("-","/")+"/";
	System.out.println(dataUrl);

	String newDir = StringUtils.format("{}/", dataUrl);
	System.out.println(newDir );
	return newDir 
	}



...
... 省略了类的创建等代码,主要内容如下:
...

public static final String upload(MultipartFile file){
	String absPath = "D:/filesss/" + getDateDir() + originalFilename;
	// 指定目录

	//通过CommonsMultipartFile的方法直接写文件(注意这个时候)
	try {
		/
    	file.transferTo(Paths.get(absPath));;  // 将文件放置在这个路径下
    	/
    	long endTime = System.currentTimeMillis();
    	logger.info("采用file.Transto的运行时间:" + String.valueOf(endTime - startTime) + "ms");
    
	} catch (IOException e) {
       	e.printStackTrace();
	}

}

参考链接

Java使用UUID实现随机生成文件的名称

Java可以通过UUID类来生成一个随机文件名。

Java生成随机数的4种方式,以后就用它了!

Java 根据当前时间创建文件夹

Java很简单的文件上传(transferTo方式)

Java - 根据文件绝对路径,来删除文件

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java - 随机文件名生成 - 根据当前时间创建文件夹 - 文件上传后,放置到指定目录下(transferTo方式) 的相关文章

随机推荐

  • java反射-通过反射操作注解

    java反射 操作注解 创建注解 创建类注解 类名的注解 Target ElementType TYPE Retention RetentionPolicy RUNTIME interface Tablewang String value
  • 【调制BFSK】二进制频移键控FSK的数字调制(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 相移键控 PS K 是利用载波相位直接表示
  • java简单线程同步方法(volatile)实现线程同步

    学习笔记 多线程中的非同步问题主要出现在对域的读写上 如果让域自身避免这个问题 则就不需要修改操作该域的方法 用final域 有锁保护的域和volatile域可以避免非同步的问题 volatile关键字为域变量的访问提供了一种免锁机制 使用
  • React18.x + i18next + antd 国际化正确使用姿势及避坑指南

    如果你使用这个教程还不能够解决你的问题的话 直接私信我 免费一对一给你解决 一 使用vite创建一个react项目 具体的创建方法大家参考vite官方文档 大概的操作如下 如果需要更详细的 大家去自行搜索即可 pnpm create vit
  • C# 动态加载Treeview

    失败的方法一 public void showTreeview string sqlContent SELECT monitorType monitorContent FROM monitorcontent DataTable dtCont
  • Error Domain=DVTMachOErrorDomain Code=0“Found an unexpected Mach-O header code_ 0x72613c21

    Failed to generate distribution items with error Error Domain DVTMachOErrorDomain Code 0 Found an unexpected Mach O head
  • Qt_Qt报错No rule to make target

    第一种情况 Qt编译工程时候 所有用到的源文件包括头文件和库文件的 总路径长度不能超过190个左右字符 一旦超过 就会提示找不到那个文件 这个可能是Qt的makefile的机制问题 解决方法 工程文件夹名字命名尽量比较短 而且工程目录文件夹
  • 【java】for和foreach的区别

    一 概述 普通for循环在遍历集合时使用下标来定位集合中的元素 java在JDK1 5开始支持foreach循环 foreach在一定程度上简化了对集合的遍历 但某些情况下 foreach是不能完全代替for循环的 限制场景 1 forea
  • IC卡、ID卡、CPU卡、RFID和NFC的区别

    ID卡 ID卡是早期的电子标签 只有一个ID号 不可以存储任何数据 故叫ID卡 ID卡没有算法 不可写入数据 其ID出厂一次性写入 应用人员只可读出卡号加以利用 ID卡容易复制 安全性较低 应用 主要应用在门禁系统 企业工牌 安全性 ID
  • 【Photon Voice】介绍

    入门 Photon Voice 2是Photon Voice的后续版本 它带来了以下功能 改进了API和更好的Unity组件 与PUN2兼容 灵活性 由于现在它与PUN2分离 它可以与Photon Realtime Photon Bolt
  • PacketTracer简单使用】

    进入软件后 我所用的版本是5 3 汉化过 看到如下界面 搭建网络拓扑 上图中的1 最大空白地方叫工作空间 搭建网络拓扑的地方 分逻辑和物理空间 2处的两个图标可以切换模式 图中的3 我们需要选取的网络设备名称 如路由器 接线器 4就是具体型
  • 【ORBSLAM2点线融合】线特征图模型构建

    在SLAM中 通常用BA Bundle Adjustment 来实现多个三维点和不同相机位姿的优化 本文描述如何建立基于线特征的图优化 并推导相应的雅克比矩阵 并用g2o实现相应的类 1 线特征误差及观测模型 假设相机位姿为 T c w T
  • StableDiffusion本地部署图形化训练模块(炼丹)Kohya_ss安装步骤

    将出东方
  • websocket--技术文档--spring后台+vue基本使用

    阿丹 给大家分享一个可以用来进行测试websocket的网页 个人觉得还是挺好用的 WebSocket在线测试工具 还有一个小家伙ApiPost也可以进行使用websocket的测试 本文章只是基本使用 给大家提供思路简单实现 使用spri
  • PCL 间接平差法拟合平面

    目录 一 算法原理 1 原理概述 2 参考文献 二 代码实现 三 结果展示 一 算法原理 1 原理概述 通过传统最小二乘法对点云数据进行平面拟合时 可将误差只归因于一个方向上 本文假设误差只存在于 Z Z Z轴方向上 设点云拟合的平面方程为
  • echarts中配置项splitNumber踩坑记录

    splitNumber不按照设置的数目来显示怎么办 项目问题记录 踩坑记录 合理使用boundaryGap max 实际效果 项目问题记录 项目中有九宫格式九个柱状图显示 要求y轴显示三条分割线 两个分割间隔 使用同一个option 却展示
  • datawhale-web-task02

    0 背景 完成datawhale的web入门开发task02的学习 https github com datawhalechina whale web blob master task02 md task02内容如下 用户管理 通过上节课程
  • Linux安装JDK-8-附有百度网盘链接

    前提 全新安装 Linux 64位JDK8链接 提取码 x3s4 JDK官网下载地址 http www oracle com technetwork java javase downloads jdk8 downloads 2133151
  • 安装lamp详细版本

    font face font family 宋体 font face font family Verdana p MsoNormal li MsoNormal div MsoNormal margin 0cm 0cm 0 0001pt te
  • Java - 随机文件名生成 - 根据当前时间创建文件夹 - 文件上传后,放置到指定目录下(transferTo方式)

    目录 一 随机文件名生成 具体代码演示 二 根据当前时间创建文件夹 三 文件上传后 放置到指定目录下 参考链接 一 随机文件名生成 具体代码演示 UUID 模块是内置的 public static String getRandomName