100 lines
2.8 KiB
Java
100 lines
2.8 KiB
Java
package com.ecep.contract.util;
|
|
|
|
import java.io.File;
|
|
import java.util.regex.Matcher;
|
|
import java.util.regex.Pattern;
|
|
|
|
public class FileUtils {
|
|
public final static String PDF = ".pdf";
|
|
public final static String DOC = ".doc";
|
|
public final static String DOCX = ".docx";
|
|
public final static String XLS = ".xls";
|
|
public final static String XLSX = ".xlsx";
|
|
public final static String PNG = ".png";
|
|
public final static String JPG = ".jpg";
|
|
public final static String JPEG = ".jpeg";
|
|
public final static String JSON = ".json";
|
|
public final static String FILE_DB_THUMBS = "Thumbs.db";
|
|
public final static String FILE_DB_JSON = "db.json";
|
|
public final static String FILE_BLACK_LIST_JSON = "black_list.json";
|
|
public final static String FILE_B1001_JSON = "b1001.json";
|
|
|
|
/**
|
|
* 检查文件是否符合后缀要求
|
|
*
|
|
* @param name 文件名
|
|
* @param fileExtensions 后缀
|
|
*/
|
|
public static boolean withExtensions(String name, String... fileExtensions) {
|
|
for (String fn : fileExtensions) {
|
|
if (name.endsWith(fn)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* 返回 district 中关于省份的部门zi
|
|
*
|
|
* @param district 地区
|
|
* @return 省份名称
|
|
*/
|
|
public static String getParentPrefixByDistrict(String district) {
|
|
int indexOf = district.indexOf("省");
|
|
if (indexOf != -1) {
|
|
return district.substring(0, indexOf);
|
|
}
|
|
|
|
indexOf = district.indexOf("自治区");
|
|
if (indexOf != -1) {
|
|
return district.substring(0, 2);
|
|
}
|
|
|
|
indexOf = district.indexOf("市");
|
|
if (indexOf != -1) {
|
|
return district.substring(0, indexOf);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public static String escapeFileName(String fileName) {
|
|
String patternStr = "[\\\\/:*?\"<>|]";
|
|
Pattern pattern = Pattern.compile(patternStr);
|
|
Matcher matcher = pattern.matcher(fileName);
|
|
return matcher.replaceAll("_");
|
|
}
|
|
|
|
public static boolean isHiddenFile(File file) {
|
|
String fileName = file.getName();
|
|
if (fileName.equals(FILE_DB_THUMBS)) {
|
|
return true;
|
|
}
|
|
return fileName.startsWith("~$");
|
|
}
|
|
|
|
/**
|
|
* 检查文件是否为可编辑文件
|
|
*
|
|
* @param fileName 文件名
|
|
* @return 是否为可编辑文件
|
|
*/
|
|
public static boolean isEditableFile(String fileName) {
|
|
return withExtensions(fileName,
|
|
XLS, XLSX,
|
|
DOC, DOCX);
|
|
}
|
|
|
|
/**
|
|
* 检查文件是否为归档文件
|
|
*
|
|
* @param fileName 文件名
|
|
* @return 是否为归档文件
|
|
*/
|
|
public static boolean isArchiveFile(String fileName) {
|
|
return withExtensions(fileName,
|
|
PNG, PDF,
|
|
JPG, JPEG);
|
|
}
|
|
}
|