From 3f41182984d69d7fae703776edd1591f48dff93f Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期三, 22 十一月 2023 17:13:05 +0800
Subject: [PATCH] 2023年11月22日17:12:40

---
 app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java |   76 ++++++++++++++++++++++++++++++++-----
 1 files changed, 65 insertions(+), 11 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java
index 69b3e95..012a181 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java
@@ -15,6 +15,8 @@
 import java.io.FileOutputStream;
 import java.io.InputStream;
 import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Objects;
 
 /**
@@ -96,7 +98,7 @@
     /**
      * 鑾峰彇銆愭棩蹇楁枃浠躲�戝叏璺緞
      */
-    public String getLogFilePath() {
+    public String getLogFileNamePath() {
         return getCurrentHomeRootPath() + "/log.txt";
     }
 
@@ -105,6 +107,18 @@
      */
     public String getUserFilePath() {
         return getAPPInternalStoreFilesPath() + "/userConfigManage.txt";
+    }
+
+    /**
+     * 鑾峰彇椹卞姩鍗囩骇鏂囦欢鍏ㄨ矾寰�
+     *
+     * @param driverCode 椹卞姩缂栫爜
+     * @param version    椹卞姩鐗堟湰
+     * @return 鍏ㄨ矾寰�
+     */
+    public String getDrivePathFileName(String driverCode, String version) {
+        String driverFileName = driverCode + "_" + version + ".zip";
+        return HdlFileLogic.getInstance().getDriveRootPath() + "/" + driverFileName;
     }
 
     //endregion
@@ -230,7 +244,7 @@
      * @param fullPath 鍏ㄨ矾寰�
      * @param data     鏁版嵁
      */
-    public void writeFile(String fullPath, String data) {
+    public void writeFile(String fullPath, byte[] data) {
         try {
             File file = new File(fullPath);
             if (!file.exists()) {
@@ -240,7 +254,7 @@
                 }
             }
             FileOutputStream d = new FileOutputStream(file);
-            d.write(data.getBytes());
+            d.write(data);
             d.flush();
             d.close();
             System.out.println("鍐欏叆鏂囦欢鎴愬姛==" + fullPath);
@@ -248,6 +262,16 @@
             System.out.println("鍐欏叆鏂囦欢鏈夊紓甯�==" + e.getMessage());
         }
 
+    }
+
+    /**
+     * 鍐欏叆鏂囦欢
+     *
+     * @param fullPath 鍏ㄨ矾寰�
+     * @param data     鏁版嵁
+     */
+    public void writeFile(String fullPath, String data) {
+        writeFile(fullPath, data.getBytes());
     }
 
     /**
@@ -290,25 +314,55 @@
      * @param filePath 鍏ㄨ矾寰�
      * @return 鏁版嵁
      */
-    public String readFile(String filePath) {
+    public byte[] readFileByte(String filePath) {
         try {
             if (!isBoolean(filePath)) {
-                return "";
+                return null;
             }
-            String fileContent = "";
             File f = new File(filePath);
             if (!f.exists()) {
-                return fileContent;
+                return null;
             }
             FileInputStream fis = new FileInputStream(f);
-            byte[] bytes = new byte[fis.available()];
-            fis.read(bytes);
+//            byte[] bytes = new byte[fis.available()];
+            byte[] readByte = new byte[1024];
+            List<Byte> byteList = new ArrayList<>();
+            int len = 0;
+            while ((len = fis.read(readByte)) != -1) {
+                for (int i = 0; i < len; i++) {
+                    byteList.add(readByte[i]);
+                }
+            }
+            Byte[] forbByte = byteList.toArray(new Byte[0]);
+            byte[] bytes = new byte[forbByte.length];
+            for (int i = 0; i < forbByte.length; i++) {
+                bytes[i] = forbByte[i];
+            }
             fis.close();
             System.out.println("璇诲彇鏂囦欢鎴愬姛===" + filePath);
-            fileContent = new String(bytes);
-            return fileContent;
+            return bytes;
         } catch (Exception e1) {
             System.out.println("璇诲彇鏂囦欢鏈夊紓甯�===" + e1.getMessage());
+            return null;
+        }
+
+    }
+
+    /**
+     * 璇诲彇鏂囦欢
+     *
+     * @param filePath 鍏ㄨ矾寰�
+     * @return 鏁版嵁
+     */
+    public String readFile(String filePath) {
+        try {
+
+            byte[] bytes = readFileByte(filePath);
+            if (bytes == null) {
+                return "";
+            }
+            return new String(bytes);
+        } catch (Exception e1) {
             return "";
         }
 

--
Gitblit v1.8.0