mac
2023-11-22 3f41182984d69d7fae703776edd1591f48dff93f
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;
/**
@@ -79,17 +81,44 @@
    }
    /**
     * 获取存放【驱动文件夹】根路径
     */
    public String getDriveRootPath() {
        return getAPPInternalStoreFilesPath() + "/upgrade/drive";
    }
    /**
     * 获取存放【固件文件夹】根路径
     */
    public String getFirmwareRootPath() {
        return getAPPInternalStoreFilesPath() + "/upgrade/firmware";
    }
    /**
     * 获取【日志文件】全路径
     */
    public String getLogFilePath() {
        return getCurrentHomeRootPath() + "/Log.txt";
    public String getLogFileNamePath() {
        return getCurrentHomeRootPath() + "/log.txt";
    }
    /**
     * 获取【用户文件】全路径
     */
    public String getUserFilePath() {
        return getAPPInternalStoreFilesPath() + "/UserConfigManage.txt";
        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
@@ -102,6 +131,11 @@
    public void createDirectory() {
        //存放住宅信息
        this.createFileDir(this.getCurrentHomeRootPath());
        //驱动文件
        this.createFileDir(this.getDriveRootPath());
        //固件文件
        this.createFileDir(this.getFirmwareRootPath());
    }
    /**
@@ -210,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()) {
@@ -220,7 +254,7 @@
                }
            }
            FileOutputStream d = new FileOutputStream(file);
            d.write(data.getBytes());
            d.write(data);
            d.flush();
            d.close();
            System.out.println("写入文件成功==" + fullPath);
@@ -228,6 +262,16 @@
            System.out.println("写入文件有异常==" + e.getMessage());
        }
    }
    /**
     * 写入文件
     *
     * @param fullPath 全路径
     * @param data     数据
     */
    public void writeFile(String fullPath, String data) {
        writeFile(fullPath, data.getBytes());
    }
    /**
@@ -270,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 "";
        }