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

    测试

  • 相关阅读:
    BZOJ 2006 [NOI2010]超级钢琴
    标准打印一棵树
    COJ 0288 路径(2015升级版)
    批判树套树。。。。。。。。
    BestCoder Round #49
    蓝牙通信中读取固定长度数组的解决
    5月5日的规划
    必须要改变这样的生活
    五一结束
    五一来临
  • 原文地址:https://www.cnblogs.com/qingshan-tang/p/12396296.html
Copyright © 2011-2022 走看看