Java的简单线程复制文件工具类FileUtil2.0(4)

/**
    * 重命名
    *
    * @param fileName1
    *            路径
    * @param fileName2
    *            路径
    */
    public static void rename(String fileName1, String fileName2) {
        rename(newFile(fileName1), newFile(fileName2));
    }

/**
    * 重命名
    *
    * @param f1
    * @param f2
    */
    public static void rename(File f1, File f2) {
        f1.renameTo(f2);
    }

/**
    * 修改指定路径的文件后缀名。
    *
    * @param fileName
    *            路径
    * @param suffix
    *            后缀名
    */
    public static void replaceSuffixName(String fileName, String suffix) {
        replaceSuffixName(newFile(fileName), suffix);
    }

/**
    * 修改文件后缀名
    *
    * @param file
    *            对象,
    * @param suffix
    *            后缀
    */
    public static void replaceSuffixName(File file, String suffix) {
        StringBuilder name = new StringBuilder();
        name.append(getNoSuffixName(file));
        name.append(".");
        name.append(suffix);
        rename(file, newFile(parent(file), name.toString()));
    }

/**
    * 获取文件的后缀名
    *
    * @param f
    * @return
    */
    public static String suffixName(File f) {
        String[] sarr = f.getName().split("\\.");
        return sarr.length > 1 ? sarr[sarr.length - 1] : null;
    }

/**
    * 检测路径是否文件
    *
    * @param f
    */
    public static boolean isFile(String fileName) {
        return isFile(newFile(fileName));
    }

/**
    * 根据路径创建文件对象,
    *
    * @param fileName
    * @return
    */
    public static File newFile(String fileName) {
        return new File(fileName);
    }

/**
    * 创建路径和文件名创建文件对象
    *
    * @param path
    *            路径
    * @param fileName
    *            文件名字
    * @return
    */
    public static File newFile(String path, String fileName) {
        return new File(path, fileName);
    }

/**
    * 返回对象的父目录
    *
    * @param f
    * @return
    */
    public static String parent(File f) {
        String str = f.getName();
        String abso = f.getAbsolutePath();
        return abso.substring(0, abso.length() - str.length());
    }

/**
    * 根据文件和样式获取文件大小的字符串
    *
    * @param file
    *            根据文件路径
    * @param size
    *            文件大小样式(KB或MB或GB)
    * @return
    */
    public static String size(File file, String size) {
        long len = file.length();
        double d = 0;
        StringBuilder sb = new StringBuilder();
        switch (size) {
        case "k":
        case "K":
        case "kb":
        case "Kb":
        case "KB":
        case "kB":
            d = 1.0 * len / 1024;
            sb.append(String.format("%.3f", d));
            sb.append("MB");
            break;
        case "m":
        case "M":
        case "mb":
        case "MB":
        case "mB":
        case "Mb":
            d = 1.0 * len / 1024 / 1024;
            sb.append(String.format("%.3f", d));
            sb.append("MB");
            break;
        case "g":
        case "G":
        case "gb":
        case "GB":
        case "Gb":
        case "gB":
            d = 1.0 * len / 1024 / 1024 / 1024;
            sb.append(String.format("%.3f", d));
            sb.append("GB");
            break;
        default:
            sb.append(len);
            sb.append("B");
        }
        return sb.toString();
    }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/ecad5b5f204d7e262e308fcc6821e282.html