zero 1 vuosi sitten
vanhempi
commit
85c46d0a36
1 muutettua tiedostoa jossa 48 lisäystä ja 12 poistoa
  1. 48 12
      src/main/java/cn/cslg/pas/common/utils/FileUtils.java

+ 48 - 12
src/main/java/cn/cslg/pas/common/utils/FileUtils.java

@@ -27,13 +27,11 @@ public class FileUtils {
         //获取 applicationHome 内的路径 ...\target\classes 到这一层级下
         File file = ah.getSource();
         //获取 file的parentFile 即最后一级之前的所有层级路径(包括盘符) 这里能获得到的最终层级为  ...\target 后续用FILE_SEPARATOR(系统路径分割通配符 即 "\") 以及fileName拼接生成存放文件的目录层级 即为根目录 root
-        String rootPath =null;
+        String rootPath = null;
 
-        if (fileName!=null&&!fileName.equals(""))
-        {
-            rootPath= file.getParentFile().toString() + FILE_SEPARATOR + fileName;
-        }
-        else {
+        if (fileName != null && !fileName.equals("")) {
+            rootPath = file.getParentFile().toString() + FILE_SEPARATOR + fileName;
+        } else {
             rootPath = file.getParentFile().toString();
         }
         //根据上方生成的根目录路径 生成对应文件夹 没有就新建
@@ -76,7 +74,7 @@ public class FileUtils {
         return last.toString();
     }
 
-    public static   File  getFileByBytes(byte[] bytes, String prefix, String suffix) {
+    public static File getFileByBytes(byte[] bytes, String prefix, String suffix) {
         BufferedOutputStream bos = null;
         FileOutputStream fos = null;
         File file = null;
@@ -110,12 +108,12 @@ public class FileUtils {
                     e.printStackTrace();
                 }
             }
-            return  file;
+            return file;
         }
     }
 
 
-    public static  File getFileByUrl(String dataUrl) throws IOException {
+    public static File getFileByUrl(String dataUrl) throws IOException {
 
         URL url = new URL(dataUrl);  //想要读取的url地址
         InputStream in = url.openStream();
@@ -132,7 +130,8 @@ public class FileUtils {
         in.close();
         return file;
     }
-    public static  File getPictureFileByUrl(String dataUrl) throws IOException {
+
+    public static File getPictureFileByUrl(String dataUrl) throws IOException {
 
         URL url = new URL(dataUrl);  //想要读取的url地址
         InputStream in = url.openStream();
@@ -149,9 +148,11 @@ public class FileUtils {
         in.close();
         return file;
     }
+
     public String getPath(String url) {
         return getStaticPath(COMMON_FILE) + url;
     }
+
     public String getDirectoryName() {
         return DateUtils.getNowTimeFormat("yyyyMMdd");
     }
@@ -159,6 +160,7 @@ public class FileUtils {
     public String getSavePath(String directoryName) {
         return getStaticPath(COMMON_FILE) + FILE_SEPARATOR + directoryName + FILE_SEPARATOR;
     }
+
     public String createDirectory() {
         String directoryName = this.getDirectoryName();
         String savePath = this.getSavePath(directoryName);
@@ -168,8 +170,9 @@ public class FileUtils {
         }
         return directoryName;
     }
+
     public String createRandomDirectory() {
-        String directoryName =  IdUtil.simpleUUID();
+        String directoryName = IdUtil.simpleUUID();
         String savePath = this.getSavePath(directoryName);
         File directory = new File(savePath);
         if (!directory.exists()) {
@@ -177,6 +180,7 @@ public class FileUtils {
         }
         return directoryName;
     }
+
     public static FileInputStream byteToFile(byte[] bytes) {
         String fileName = IdUtil.simpleUUID() + ".png";
         File file = new File(fileName);
@@ -208,13 +212,16 @@ public class FileUtils {
     public String getDirectory(String fileName) {
         return FILE_SEPARATOR + this.createDirectory() + FILE_SEPARATOR + fileName;
     }
+
     public String getSystemPath(String url) {
         return getStaticPath(COMMON_FILE) + FILE_SEPARATOR + url;
     }
+
     public static String getSystemPath2(String url) {
         return getStaticPath(COMMON_FILE) + FILE_SEPARATOR + url;
     }
-    public  static void  writeFile(String json, String FilePath) {
+
+    public static void writeFile(String json, String FilePath) {
 
         try {
             File file = new File(FilePath);
@@ -238,4 +245,33 @@ public class FileUtils {
         }
     }
 
+    public static File multipartFileToFile(MultipartFile file) throws Exception {
+        File toFile = null;
+        if (file == null || file.equals("") || file.getSize() <= 0) {
+            file = null;
+        } else {
+            InputStream ins = null;
+            ins = file.getInputStream();
+            toFile = new File(file.getOriginalFilename());
+            inputStreamToFile(ins, toFile);
+            ins.close();
+        }
+        return toFile;
+    }
+
+    //获取流文件
+    private static void inputStreamToFile(InputStream ins, File file) {
+        try {
+            OutputStream os = new FileOutputStream(file);
+            int bytesRead = 0;
+            byte[] buffer = new byte[8192];
+            while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {
+                os.write(buffer, 0, bytesRead);
+            }
+            os.close();
+            ins.close();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
 }