From e621d580011682941a79c107f46fe7aeb5b0e7de Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期一, 08 一月 2024 11:53:48 +0800
Subject: [PATCH] 2024年01月08日11:53:43
---
app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java | 129 ++++++++++++++++++++++++++++++++----------
1 files changed, 98 insertions(+), 31 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..dd17841 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java
@@ -7,6 +7,8 @@
import com.hdl.photovoltaic.HDLApp;
import com.hdl.photovoltaic.config.UserConfigManage;
+import org.apache.commons.io.FileUtils;
+
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
@@ -25,9 +27,9 @@
private static volatile HdlFileLogic sHdlFileLogic;
/**
- * 琛ㄧず1m澶у皬鏁版嵁
+ * 琛ㄧず0.5m澶у皬鏁版嵁
*/
- private final int m = 1;
+ private final double mDataSize = 0.5;
/**
* 鑾峰彇褰撳墠瀵硅薄
@@ -96,7 +98,7 @@
/**
* 鑾峰彇銆愭棩蹇楁枃浠躲�戝叏璺緞
*/
- public String getLogFilePath() {
+ public String getLogFileNamePath() {
return getCurrentHomeRootPath() + "/log.txt";
}
@@ -115,8 +117,21 @@
* @return 鍏ㄨ矾寰�
*/
public String getDrivePathFileName(String driverCode, String version) {
- String driverFileName = driverCode + "_" + version + ".zip";
- return HdlFileLogic.getInstance().getDriveRootPath() + "/" + driverFileName;
+ String fileName = driverCode + "_" + version + ".zip";
+ return HdlFileLogic.getInstance().getDriveRootPath() + "/" + fileName;
+ }
+
+ /**
+ * 鑾峰彇鍥轰欢鍗囩骇鏂囦欢鍏ㄨ矾寰�
+ *
+ * @param oid 璇ュ浐浠秓id
+ * @param imageId 闀滃儚id
+ * @param version 椹卞姩鐗堟湰
+ * @return 鍏ㄨ矾寰�
+ */
+ public String getFirmwarePathFileName(String oid, String imageId, String version) {
+ String fileName = oid + "_" + imageId + "_" + version + ".zip";
+ return HdlFileLogic.getInstance().getFirmwareRootPath() + "/" + fileName;
}
//endregion
@@ -147,7 +162,7 @@
File file = new File(fullPath);
if (!file.isDirectory()) {
boolean succeed = file.mkdirs();
- System.out.println("鍒涘缓鏂囦欢澶硅矾寰�=" + file.getAbsolutePath() + "->->鍒涘缓鏂囦欢澶圭粨鏋�=" + succeed);
+ System.out.println("鍒涘缓鏂囦欢澶硅矾寰�--->" + file.getAbsolutePath() + "===鍒涘缓鏂囦欢澶圭粨鏋�--->" + succeed);
return succeed;
}
return true;
@@ -180,7 +195,7 @@
}
// 鍒犻櫎鏂囦欢澶规湰韬�
boolean succeed = fileRoot.delete();//鏂囦欢澶圭┖杩欎釜鏂规硶鎵嶆湁鏁�
- System.out.println("鍒犻櫎鏂囦欢澶硅矾寰�=" + fileRoot.getAbsolutePath() + "->->鍒犻櫎缁撴灉=" + succeed);
+ System.out.println("鍒犻櫎鏂囦欢澶硅矾寰�--->" + fileRoot.getAbsolutePath() + "===鍒犻櫎缁撴灉--->" + succeed);
} catch (Exception e) {
System.out.println("鍒犻櫎鏂囦欢澶规湁寮傚父===" + e.getMessage());
}
@@ -203,7 +218,7 @@
File file = new File(fullPath);
if (!file.exists()) {
boolean succeed = file.createNewFile();
- System.out.println("鍒涘缓鏂囦欢璺緞=" + file.getAbsolutePath() + "->->鍒涘缓鏂囦欢缁撴灉=" + succeed);
+ System.out.println("鍒涘缓鏂囦欢璺緞--->" + file.getAbsolutePath() + "===鍒涘缓鏂囦欢缁撴灉--->" + succeed);
return succeed;
}
return true;
@@ -224,7 +239,7 @@
File file = new File(fullPath);
if (file.exists()) {
boolean succeed = file.delete();
- System.out.println("鍒犻櫎鏂囦欢===" + succeed);
+ System.out.println("鍒犻櫎鏂囦欢--->" + fullPath + "===缁撴灉--->" + succeed);
return succeed;
}
return true;
@@ -242,7 +257,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,14 +267,24 @@
}
}
FileOutputStream d = new FileOutputStream(file);
- d.write(data.getBytes());
+ d.write(data);
d.flush();
d.close();
- System.out.println("鍐欏叆鏂囦欢鎴愬姛==" + fullPath);
+ System.out.println("鍐欏叆鏂囦欢鎴愬姛--->" + fullPath);
} catch (Exception e) {
- System.out.println("鍐欏叆鏂囦欢鏈夊紓甯�==" + e.getMessage());
+ System.out.println("鍐欏叆鏂囦欢鏈夊紓甯�--->" + e.getMessage());
}
+ }
+
+ /**
+ * 鍐欏叆鏂囦欢
+ *
+ * @param fullPath 鍏ㄨ矾寰�
+ * @param data 鏁版嵁
+ */
+ public void writeFile(String fullPath, String data) {
+ writeFile(fullPath, data.getBytes());
}
/**
@@ -285,13 +310,40 @@
d.write("\r\n".getBytes());// 鍐欏叆涓�涓崲琛�
d.flush();
d.close();
- if (file.length() > 1024 * 1024 * m) {
+ if (file.length() > 1024 * 1024 * mDataSize) {
//鏂囦欢澶т簬1m,鍒犻櫎鏂囦欢鍓�10鏉℃棩蹇�
this.delFileLien(fullPath, 10);
}
- System.out.println("鍐欏叆涓�琛屾暟鎹埌鏂囦欢鎴愬姛===" + dataLine);
+ System.out.println("鍐欏叆涓�琛屾暟鎹埌鏂囦欢鎴愬姛--->" + dataLine);
} catch (Exception e) {
- System.out.println("鍐欏叆涓�琛屾暟鎹埌鏂囦欢鏈夊紓甯�===" + e.getMessage());
+ System.out.println("鍐欏叆涓�琛屾暟鎹埌鏂囦欢鏈夊紓甯�--->" + e.getMessage());
+ }
+
+ }
+
+ /**
+ * 璇诲彇鏂囦欢
+ *
+ * @param filePath 鍏ㄨ矾寰�
+ * @return 鏁版嵁
+ */
+ public byte[] readFileByte(String filePath) {
+ try {
+ if (!isBoolean(filePath)) {
+ return null;
+ }
+ File f = new File(filePath);
+ if (!f.exists()) {
+ return null;
+ }
+ FileInputStream fis = new FileInputStream(f);
+ byte[] bytes = FileUtils.readFileToByteArray(f);
+ fis.close();
+ System.out.println("璇诲彇鏂囦欢鎴愬姛--->" + filePath);
+ return bytes;
+ } catch (Exception e1) {
+ System.out.println("璇诲彇鏂囦欢鏈夊紓甯�--->" + e1.getMessage());
+ return null;
}
}
@@ -304,27 +356,42 @@
*/
public String readFile(String filePath) {
try {
- if (!isBoolean(filePath)) {
+ byte[] bytes = readFileByte(filePath);
+ if (bytes == null) {
return "";
}
- String fileContent = "";
- File f = new File(filePath);
- if (!f.exists()) {
- return fileContent;
- }
- FileInputStream fis = new FileInputStream(f);
- byte[] bytes = new byte[fis.available()];
- fis.read(bytes);
- fis.close();
- System.out.println("璇诲彇鏂囦欢鎴愬姛===" + filePath);
- fileContent = new String(bytes);
- return fileContent;
+ return new String(bytes);
} catch (Exception e1) {
- System.out.println("璇诲彇鏂囦欢鏈夊紓甯�===" + e1.getMessage());
return "";
}
}
+
+ /**
+ * 璇诲彇鏂囦欢
+ *
+ * @param filePath 鍏ㄨ矾寰�
+ * @return 鏁版嵁
+ */
+ public FileInputStream fileStream(String filePath) {
+ try {
+ if (!isBoolean(filePath)) {
+ return null;
+ }
+ File f = new File(filePath);
+ if (!f.exists()) {
+ return null;
+ }
+ fileLength = f.length();
+ return new FileInputStream(f);
+ } catch (Exception e1) {
+ System.out.println("璇诲彇鏂囦欢鏈夊紓甯�--->" + e1.getMessage());
+ return null;
+ }
+
+ }
+
+ public static long fileLength = 0;
/**
* 鎸囧畾鍒犻櫎鏂囦欢琛屾暟锛堜粠鍓嶉潰鍒犻櫎璧凤級
@@ -374,7 +441,7 @@
*/
public boolean isBoolean(String path) {
if (path.contains("//") || path.contains("\\")) {
- System.out.println("鏃犳晥鏂囦欢璺緞===" + path);
+ System.out.println("鏃犳晥鏂囦欢璺緞--->" + path);
return false;
}
return true;
--
Gitblit v1.8.0