zoukankan      html  css  js  c++  java
  • 根据文件原始名称,文件根路径按照日期生成存储路径

    背景

    目前许多项目都要在本地生成文件,一般都要根据 文件的根目录和自定义的文件名称拼接出文件的绝对路径。下面提供一个工具方法供参考


    public class FileUtil {
        private static final DateFormat df = new SimpleDateFormat("yyyyMMdd");
        private static final DateFormat df1 = new SimpleDateFormat("HHmmss");
    
        //根据文件名称,文件根路径按照日期生成存储路径
        public static String generateFilePath(String fileName, String rootFolder) {
            if (StringUtils.isBlank(fileName) || StringUtils.isBlank(rootFolder)) {
                throw new RuntimeException("fileName and rootFolder cannot be null");
            }
    
            Date currentDate = new Date();
            Calendar c = Calendar.getInstance();
            c.setTime(currentDate);
            String fileSystemName = "";
            String uuid = UUID.randomUUID().toString().replaceAll("-", "");
    
            StringBuilder fileNameBuilder = new StringBuilder(fileName);
            fileSystemName = fileNameBuilder.insert(fileName.indexOf("."), "_" + uuid).insert(fileName.indexOf("."), "_" + df1.format(currentDate)).toString();
            StringBuffer filePath = new StringBuffer();
            filePath.append(rootFolder).append(File.separator).append(df.format(currentDate));
            File _folder = new File(filePath.toString());
            if (!_folder.exists()) {
                _folder.mkdir();
            }
            filePath.append(File.separator).append(c.get(Calendar.HOUR_OF_DAY));
            _folder = new File(filePath.toString());
            if (!_folder.exists()) {
                _folder.mkdir();
            }
            filePath.append(File.separator).append(fileSystemName);
            return filePath.toString();
        }
    
    }

    测试

  • 相关阅读:
    js中的单例模式
    node.js
    vscode设置
    Array.from();Object.keys();Array.map()
    js题
    如何申请成为企业微信,并成为第三方服务商
    微信企业号第三方平台应用开发
    SQL Server 给表和字段添加说明
    sql 语句写的行列转换
    不同数据库之间复制表的数据的方法
  • 原文地址:https://www.cnblogs.com/qingshan-tang/p/12396296.html
Copyright © 2011-2022 走看看