FileUtil.java
package com.cmbchina.ccd.itpm.utils; import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.UUID; import static org.apache.tomcat.util.http.fileupload.FileUtils.cleanDirectory; public class FileUtil { private FileUtil() { } public static void uploadFile(byte[] file, String filePath, String fileName) throws IOException { File targetFile = new File(filePath); if (!targetFile.exists()) { if (!targetFile.mkdirs()) { throw new IOException(); } } FileOutputStream out = null; try { out = new FileOutputStream(filePath + fileName); out.write(file); out.flush(); } catch (IOException e) { throw new IOException(); } finally { if (out != null) { out.close(); } } } public static boolean deleteFile(String fileName) { File file = new File(fileName); // 如果文件路径所对应的文件存在,并且是一个文件,则直接删除 if (file.exists() && file.isFile()) { if (file.delete()) { return true; } else { return false; } } return false; } public static String renameToUUID(String fileName) { return UUID.randomUUID() + "." + fileName.substring(fileName.lastIndexOf(".") + 1); } /** * 文件删除方法 * * @param fileAddress * @return */ public static boolean deleteQuietly(String fileAddress) { File file = new File(fileAddress); if (file == null) { return false; } else { try { if (file.isDirectory()) { cleanDirectory(file); } } catch (Exception var3) { ; } try { return file.delete(); } catch (Exception var2) { return false; } } } /** * 文件保存方法 * * @param file * @param destination * @return * @throws IllegalStateException * @throws IOException */ public static String saveFile(MultipartFile file, String destination) throws IllegalStateException, IOException { // 获取上传的文件名称,并结合存放路径,构建新的文件名称 String filename = file.getOriginalFilename(); File filepath = new File(destination, filename); // 判断路径是否存在,不存在则新创建一个 if (!filepath.getParentFile().exists()) { filepath.getParentFile().mkdirs(); } // 将上传文件保存到目标文件目录 file.transferTo(new File(destination + File.separator + filename)); String fileMD5String = MD5Util.getFileMD5String(new File(destination + File.separator + filename)); return fileMD5String; } }