代码优化

This commit is contained in:
thinkgem
2023-06-09 19:58:52 +08:00
parent a84d5168ec
commit 64195c8772

View File

@@ -21,6 +21,7 @@ import javax.servlet.http.HttpServletResponse;
import java.io.*; import java.io.*;
import java.util.Enumeration; import java.util.Enumeration;
import java.util.List; import java.util.List;
import java.util.Objects;
import java.util.zip.ZipEntry; import java.util.zip.ZipEntry;
import java.util.zip.ZipFile; import java.util.zip.ZipFile;
import java.util.zip.ZipOutputStream; import java.util.zip.ZipOutputStream;
@@ -34,7 +35,9 @@ import java.util.zip.ZipOutputStream;
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
public class FileUtils extends org.apache.commons.io.FileUtils { public class FileUtils extends org.apache.commons.io.FileUtils {
private static Logger logger = LoggerFactory.getLogger(FileUtils.class); public static final String SEPARATOR = "/";
public static final String WIN_SEPARATOR = "\\";
private static final Logger logger = LoggerFactory.getLogger(FileUtils.class);
private static MimetypesFileTypeMap mimetypesFileTypeMap; private static MimetypesFileTypeMap mimetypesFileTypeMap;
/** /**
@@ -409,7 +412,7 @@ public class FileUtils extends org.apache.commons.io.FileUtils {
/** /**
* 写入文件 * 写入文件
* @param file 要写入的文件 * @param fileName 要写入的文件
*/ */
public static void writeToFile(String fileName, String content, boolean append) { public static void writeToFile(String fileName, String content, boolean append) {
try { try {
@@ -422,7 +425,7 @@ public class FileUtils extends org.apache.commons.io.FileUtils {
/** /**
* 写入文件 * 写入文件
* @param file 要写入的文件 * @param fileName 要写入的文件
*/ */
public static void writeToFile(String fileName, String content, String encoding, boolean append) { public static void writeToFile(String fileName, String content, String encoding, boolean append) {
try { try {
@@ -479,7 +482,7 @@ public class FileUtils extends org.apache.commons.io.FileUtils {
File descFile = new File(descFileName); File descFile = new File(descFileName);
try { try {
ZipOutputStream zouts = new ZipOutputStream(new FileOutputStream(descFile)); ZipOutputStream zouts = new ZipOutputStream(new FileOutputStream(descFile));
if ("*".equals(fileName) || "".equals(fileName)) { if ("*".equals(fileName) || StringUtils.EMPTY.equals(fileName)) {
FileUtils.zipDirectoryToZipFile(dirPath, fileDir, zouts); FileUtils.zipDirectoryToZipFile(dirPath, fileDir, zouts);
} else { } else {
File file = new File(fileDir, fileName); File file = new File(fileDir, fileName);
@@ -622,7 +625,7 @@ public class FileUtils extends org.apache.commons.io.FileUtils {
/** /**
* 获取待压缩文件在ZIP文件中entry的名字即相对于跟目录的相对路径名 * 获取待压缩文件在ZIP文件中entry的名字即相对于跟目录的相对路径名
* @param dirPat 目录名 * @param dirPath 目录名
* @param file entry文件名 * @param file entry文件名
* @return * @return
*/ */
@@ -634,7 +637,7 @@ public class FileUtils extends org.apache.commons.io.FileUtils {
String filePath = file.getAbsolutePath(); String filePath = file.getAbsolutePath();
// 对于目录必须在entry名字后面加上"/",表示它将以目录项存储 // 对于目录必须在entry名字后面加上"/",表示它将以目录项存储
if (file.isDirectory()) { if (file.isDirectory()) {
filePath += "/"; filePath += SEPARATOR;
} }
int index = filePath.indexOf(dirPaths); int index = filePath.indexOf(dirPaths);
return filePath.substring(index + dirPaths.length()); return filePath.substring(index + dirPaths.length());
@@ -768,21 +771,21 @@ public class FileUtils extends org.apache.commons.io.FileUtils {
} }
/** /**
* 修正路径,将 \\ 或 / 等替换为 File.separator * 修正路径,将 \\ 或 / 等替换为 /
* @param path 待修正的路径 * @param path 待修正的路径
* @return 修正后的路径 * @return 修正后的路径
*/ */
public static String path(String path){ public static String path(String path){
String p = StringUtils.replace(path, "\\", "/"); String p = StringUtils.replace(path, WIN_SEPARATOR, SEPARATOR);
p = StringUtils.join(StringUtils.split(p, "/"), "/"); p = StringUtils.join(StringUtils.split(p, SEPARATOR), SEPARATOR);
if (!StringUtils.startsWithAny(p, "/") && StringUtils.startsWithAny(path, "\\", "/")){ if (!StringUtils.startsWithAny(p, SEPARATOR) && StringUtils.startsWithAny(path, WIN_SEPARATOR, SEPARATOR)){
p += "/"; p += SEPARATOR;
} }
if (!StringUtils.endsWithAny(p, "/") && StringUtils.endsWithAny(path, "\\", "/")){ if (!StringUtils.endsWithAny(p, SEPARATOR) && StringUtils.endsWithAny(path, WIN_SEPARATOR, SEPARATOR)){
p = p + "/"; p = p + SEPARATOR;
} }
if (path != null && path.startsWith("/")){ if (path != null && path.startsWith(SEPARATOR)){
p = "/" + p; // linux下路径 p = SEPARATOR + p; // linux下路径
} }
return p; return p;
} }
@@ -795,8 +798,8 @@ public class FileUtils extends org.apache.commons.io.FileUtils {
*/ */
public static List<String> findChildrenList(File dir, boolean searchDirs) { public static List<String> findChildrenList(File dir, boolean searchDirs) {
List<String> files = ListUtils.newArrayList(); List<String> files = ListUtils.newArrayList();
for (String subFiles : dir.list()) { for (String subFiles : Objects.requireNonNull(dir.list())) {
File file = new File(dir + "/" + subFiles); File file = new File(dir + SEPARATOR + subFiles);
if (((searchDirs) && (file.isDirectory())) || ((!searchDirs) && (!file.isDirectory()))) { if (((searchDirs) && (file.isDirectory())) || ((!searchDirs) && (!file.isDirectory()))) {
files.add(file.getName()); files.add(file.getName());
} }
@@ -806,7 +809,7 @@ public class FileUtils extends org.apache.commons.io.FileUtils {
/** /**
* 获取文件名(带扩展名) * 获取文件名(带扩展名)
* @param pathname 文件路径名 * @param fileName 文件路径名
*/ */
public static String getFileName(String fileName) { public static String getFileName(String fileName) {
return new File(fileName).getName(); return new File(fileName).getName();