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

    测试

  • 相关阅读:
    递归的形式过程
    c/c++程序员常见面试题分析(转)
    深入理解递归函数的调用过程(转)
    C语言union关键字
    中国象棋(java)
    求树中最低的公共祖先
    什么是Complement(补码)?
    LoadRunner,各协议之间的区别
    淘宝模板制作[店铺装修]学习过程+心得
    Tips of QTP
  • 原文地址:https://www.cnblogs.com/qingshan-tang/p/12396296.html
Copyright © 2011-2022 走看看