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 | 66 +++++++++++++++++++++++++++------ 1 files changed, 54 insertions(+), 12 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 10569f4..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"; } @@ -115,7 +117,7 @@ * @return 鍏ㄨ矾寰� */ public String getDrivePathFileName(String driverCode, String version) { - String driverFileName = driverCode + "_" + version + ".zip"; + String driverFileName = driverCode + "_" + version + ".zip"; return HdlFileLogic.getInstance().getDriveRootPath() + "/" + driverFileName; } @@ -242,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()) { @@ -252,7 +254,7 @@ } } FileOutputStream d = new FileOutputStream(file); - d.write(data.getBytes()); + d.write(data); d.flush(); d.close(); System.out.println("鍐欏叆鏂囦欢鎴愬姛==" + fullPath); @@ -260,6 +262,16 @@ System.out.println("鍐欏叆鏂囦欢鏈夊紓甯�==" + e.getMessage()); } + } + + /** + * 鍐欏叆鏂囦欢 + * + * @param fullPath 鍏ㄨ矾寰� + * @param data 鏁版嵁 + */ + public void writeFile(String fullPath, String data) { + writeFile(fullPath, data.getBytes()); } /** @@ -302,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