mac
2023-12-27 936fb552a30c05fc7a60c20f47bf6fccbc2dc1c1
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;
@@ -27,7 +29,7 @@
    /**
     * 表示1m大小数据
     */
    private final int m = 1;
    private final int mDataSize = 1;
    /**
     * 获取当前对象
@@ -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     该固件oid
     * @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;