zoukankan      html  css  js  c++  java
  • FileUtil

    package me.zhengjie.common.utils;
    
    import cn.hutool.core.util.IdUtil;
    import org.springframework.web.multipart.MultipartFile;
    import java.io.File;
    import java.io.IOException;
    import java.text.DecimalFormat;
    
    /**
     * File工具类
     * @author jie
     * @date 2018-12-27
     */
    public class FileUtil {
    
        /**
         * 定义GB的计算常量
         */
        private static final int GB = 1024 * 1024 * 1024;
        /**
         * 定义MB的计算常量
         */
        private static final int MB = 1024 * 1024;
        /**
         * 定义KB的计算常量
         */
        private static final int KB = 1024;
    
        /**
         * 格式化小数
         */
        private static final DecimalFormat DF = new DecimalFormat("0.00");
    
        /**
         * MultipartFile转File
         * @param multipartFile
         * @return
         */
        public static File toFile(MultipartFile multipartFile){
            // 获取文件名
            String fileName = multipartFile.getOriginalFilename();
            // 获取文件后缀
            String prefix="."+getExtensionName(fileName);
            File file = null;
            try {
                // 用uuid作为文件名,防止生成的临时文件重复
                file = File.createTempFile(IdUtil.simpleUUID(), prefix);
                // MultipartFile to File
                multipartFile.transferTo(file);
            } catch (IOException e) {
                e.printStackTrace();
            }
            return file;
        }
    
        /**
         * 删除
         * @param files
         */
        public static void deleteFile(File... files) {
            for (File file : files) {
                if (file.exists()) {
                    file.delete();
                }
            }
        }
    
        /**
         * 获取文件扩展名
         * @param filename
         * @return
         */
        public static String getExtensionName(String filename) {
            if ((filename != null) && (filename.length() > 0)) {
                int dot = filename.lastIndexOf('.');
                if ((dot >-1) && (dot < (filename.length() - 1))) {
                    return filename.substring(dot + 1);
                }
            }
            return filename;
        }
    
        /**
         * Java文件操作 获取不带扩展名的文件名
         * @param filename
         * @return
         */
        public static String getFileNameNoEx(String filename) {
            if ((filename != null) && (filename.length() > 0)) {
                int dot = filename.lastIndexOf('.');
                if ((dot >-1) && (dot < (filename.length()))) {
                    return filename.substring(0, dot);
                }
            }
            return filename;
        }
    
        /**
         * 文件大小转换
         * @param size
         * @return
         */
        public static String getSize(int size){
            String resultSize = "";
            if (size / GB >= 1) {
                //如果当前Byte的值大于等于1GB
                resultSize = DF.format(size / (float) GB) + "GB   ";
            } else if (size / MB >= 1) {
                //如果当前Byte的值大于等于1MB
                resultSize = DF.format(size / (float) MB) + "MB   ";
            } else if (size / KB >= 1) {
                //如果当前Byte的值大于等于1KB
                resultSize = DF.format(size / (float) KB) + "KB   ";
            } else {
                resultSize = size + "B   ";
            }
            return resultSize;
        }
    }
  • 相关阅读:
    多文件编程(day13)
    字符串函数(day11)
    字符编码
    逻辑公式相等的自动证明
    排列组合问题之圆形分布
    排列组合之线性排列
    分金条
    进制的意义和算法
    集合的异或运算(对称差)
    集合习题之列出有限集合所有子集
  • 原文地址:https://www.cnblogs.com/tonggc1668/p/11218626.html
Copyright © 2011-2022 走看看