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

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

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 - 根据文件绝对路径,来删除文件

猜你喜欢

转载自blog.csdn.net/qq_42701659/article/details/132896895
今日推荐