mac
2024-02-02 ba84a556dc93fcf75e6ec76f999344d3f96ad788
app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java
@@ -1,8 +1,11 @@
package com.hdl.photovoltaic.other;
import android.content.Context;
import android.content.res.AssetManager;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Environment;
import android.text.TextUtils;
import com.hdl.photovoltaic.HDLApp;
import com.hdl.photovoltaic.config.UserConfigManage;
@@ -15,6 +18,7 @@
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Objects;
@@ -27,9 +31,9 @@
    private static volatile HdlFileLogic sHdlFileLogic;
    /**
     * 表示1m大小数据
     * 表示0.5m大小数据
     */
    private final int mDataSize = 1;
    private final double mDataSize = 0.5;
    /**
     * 获取当前对象
@@ -311,15 +315,43 @@
            d.flush();
            d.close();
            if (file.length() > 1024 * 1024 * mDataSize) {
                //文件大于1m,删除文件前10条日志
                this.delFileLien(fullPath, 10);
                //文件大于1m,删除文件前100条日志
                this.delFileLien(fullPath, 100);
            }
            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[] readFileByte1(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);//这个方法不兼用android 6.0
            fis.close();
            System.out.println("读取文件成功--->" + filePath);
            return bytes;
        } catch (Exception e1) {
            System.out.println("读取文件有异常--->" + e1.getMessage());
            return null;
        }
    }
    /**
     * 读取文件
@@ -337,7 +369,11 @@
                return null;
            }
            FileInputStream fis = new FileInputStream(f);
            byte[] bytes = FileUtils.readFileToByteArray(f);
            BufferedInputStream bis = new BufferedInputStream(fis);
            int fileLength = (int) f.length();
            byte[] bytes = new byte[fileLength];
            int len = bis.read(bytes);
            bis.close();
            fis.close();
            System.out.println("读取文件成功--->" + filePath);
            return bytes;
@@ -434,6 +470,34 @@
    }
    /**
     * 打开资源文件
     *
     * @param fileName 文件名
     * @param context  上下文
     * @return 返回json字符串
     */
    public String openAssetsFileJson(String fileName, Context context) {
        if (TextUtils.isEmpty(fileName)) {
            return "";
        }
        //将json数据变成字符串
        StringBuilder stringBuilder = new StringBuilder();
        try {
            //获取assets资源管理器
            AssetManager assetManager = context.getAssets();
            //通过管理器打开文件并读取
            BufferedReader bf = new BufferedReader(new InputStreamReader(assetManager.open(fileName)));
            String line;
            while ((line = bf.readLine()) != null) {
                stringBuilder.append(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return stringBuilder.toString();
    }
    /**
     * 判断路径是否合法
     *
     * @param path 路径