import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.multipart.MultipartFile; import java.io.*; public class FileUtils { private static final Logger logger = LoggerFactory.getLogger(File.class); /** * 获得指定文件的byte数组 */ public static byte[] getBytes(String filePath) throws IOException { byte[] buffer = null; File file = new File(filePath); FileInputStream fis = new FileInputStream(file); try { ByteArrayOutputStream bos = new ByteArrayOutputStream(8192); byte[] b = new byte[8192]; int n; while ((n = fis.read(b)) != -1) { bos.write(b, 0, n); } fis.close(); bos.close(); buffer = bos.toByteArray(); } catch (FileNotFoundException e) { logger.error("文件工具类异常: 找不到文件",FileNotFoundException.class); } catch (IOException e) { logger.error("文件工具类异常: 找不到文件",IOException.class); } finally { fis.close(); } return buffer; } /** * 根据byte数组,生成文件 */ public static void getFile(byte[] bfile, String filePath,String fileName) { BufferedOutputStream bos = null; FileOutputStream fos = null; File file = null; try { File dir = new File(filePath); if(!dir.exists()&&dir.isDirectory()){//判断文件目录是否存在 dir.mkdirs(); } file = new File(filePath+"\\"+fileName); fos = new FileOutputStream(file); bos = new BufferedOutputStream(fos); bos.write(bfile); } catch (Exception e) { e.printStackTrace(); } finally { if (bos != null) { try { bos.close(); } catch (IOException e1) { e1.printStackTrace(); } } if (fos != null) { try { fos.close(); } catch (IOException e1) { e1.printStackTrace(); } } } } /** * 清空文件夹内所有文件 * @param path * @return */ public static boolean delAllFile(String path) { boolean flag = false; File file = new File(path); if (!file.exists()) { return flag; } if (!file.isDirectory()) { return flag; } String[] tempList = file.list(); File temp = null; for (int i = 0; i < tempList.length; i++) { if (path.endsWith(File.separator)) { temp = new File(path + tempList[i]); } else { temp = new File(path + File.separator + tempList[i]); } if (temp.isFile()) { temp.delete(); } if (temp.isDirectory()) { delAllFile(path + "/" + tempList[i]);//先删除文件夹里面的文件 flag = true; } } return flag; } /** * 返回后缀名包含. */ public static String getSuffixName(MultipartFile file){ String originalFilename = file.getOriginalFilename(); return originalFilename.substring( originalFilename.lastIndexOf( "." ),originalFilename.length() ); } /** * 返回文件名 */ public static String getFileName(MultipartFile file){ String originalFilename = file.getOriginalFilename(); return originalFilename.substring( 0, originalFilename.lastIndexOf( "." )); } }