| | |
| | | import android.text.TextUtils; |
| | | |
| | | import com.hdl.photovoltaic.HDLApp; |
| | | import com.hdl.photovoltaic.config.ConstantManage; |
| | | import com.hdl.photovoltaic.config.UserConfigManage; |
| | | import com.hdl.photovoltaic.utils.LocalManageUtil; |
| | | |
| | | import org.apache.commons.io.FileUtils; |
| | | |
| | |
| | | } |
| | | |
| | | /** |
| | | * 获取中文【json资源文件夹】全路径 |
| | | * |
| | | * @param deviceModel 设备型号 |
| | | */ |
| | | public String getHdlESLocalJsonZhRootPath(String deviceModel) { |
| | | return getAPPInternalStoreFilesPath() + "/hdlESLocalJson/" + LocalManageUtil.zh + "/" + deviceModel; |
| | | } |
| | | |
| | | /** |
| | | * 获取英文【json资源文件夹】全路径 |
| | | * |
| | | * @param deviceModel 设备型号 |
| | | */ |
| | | public String getHdlESLocalJsonEnRootPath(String deviceModel) { |
| | | return getAPPInternalStoreFilesPath() + "/hdlESLocalJson/" + LocalManageUtil.en + "/" + deviceModel; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取【日志文件】全路径 |
| | | */ |
| | | public String getLogFileNamePath() { |
| | | return getCurrentHomeRootPath() + "/log.txt"; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取【用户文件】全路径 |
| | |
| | | public String getUserFilePath() { |
| | | return getAPPInternalStoreFilesPath() + "/userConfigManage.txt"; |
| | | } |
| | | |
| | | /** |
| | | * 获取中文【json资源文件】全路径 |
| | | */ |
| | | public String getHdlESLocalJsonZhFilePath(String deviceModel, String fileName) { |
| | | if (!fileName.endsWith(".json")) { |
| | | fileName += ".json"; |
| | | } |
| | | return getAPPInternalStoreFilesPath() + "/hdlESLocalJson/" + LocalManageUtil.zh + "/" + deviceModel + "/" + fileName; |
| | | } |
| | | |
| | | /** |
| | | * 获取英文【json资源文件】全路径 |
| | | */ |
| | | public String getHdlESLocalJsonEnFilePath(String deviceModel, String fileName) { |
| | | if (!fileName.endsWith(".json")) { |
| | | fileName += ".json"; |
| | | } |
| | | return getAPPInternalStoreFilesPath() + "/hdlESLocalJson/" + LocalManageUtil.en + "/" + deviceModel + "/" + 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"; |
| | | public String getFirmwarePathFileName(String imageId, String version) { |
| | | String fileName = imageId + "_" + version + ".zip"; |
| | | return HdlFileLogic.getInstance().getFirmwareRootPath() + "/" + fileName; |
| | | } |
| | | |
| | |
| | | this.createFileDir(this.getDriveRootPath()); |
| | | //固件文件 |
| | | this.createFileDir(this.getFirmwareRootPath()); |
| | | } |
| | | |
| | | /** |
| | | * 预创建json资源文件夹 |
| | | */ |
| | | public void createHdlESLocalJsonDirectory() { |
| | | //中文文件夹 |
| | | //并网-逆变器 |
| | | this.createFileDir(this.getHdlESLocalJsonZhRootPath(HdlESLocalJsonLogic.DeviceModel.INV));//并网-逆变器 |
| | | this.createFileDir(this.getHdlESLocalJsonZhRootPath(HdlESLocalJsonLogic.DeviceModel.LC));//负载中心 |
| | | this.createFileDir(this.getHdlESLocalJsonZhRootPath(HdlESLocalJsonLogic.DeviceModel.INV_BMS));//BMS |
| | | this.createFileDir(this.getHdlESLocalJsonZhRootPath(HdlESLocalJsonLogic.DeviceModel.INV_BATTERY));//电池包 |
| | | //离线-逆变器 |
| | | this.createFileDir(this.getHdlESLocalJsonZhRootPath(HdlESLocalJsonLogic.DeviceModel.OFF_INV));//离线-逆变器 |
| | | this.createFileDir(this.getHdlESLocalJsonZhRootPath(HdlESLocalJsonLogic.DeviceModel.OFF_INV_BMS));//离网-逆变器-虚拟BMS |
| | | this.createFileDir(this.getHdlESLocalJsonZhRootPath(HdlESLocalJsonLogic.DeviceModel.OFF_INV_BATTERY));//离网-逆变器-电池包 |
| | | |
| | | //离线-3.6kw逆变器 |
| | | this.createFileDir(this.getHdlESLocalJsonZhRootPath(HdlESLocalJsonLogic.DeviceModel.OFF_INV_3));//离线-逆变器 |
| | | this.createFileDir(this.getHdlESLocalJsonZhRootPath(HdlESLocalJsonLogic.DeviceModel.OFF_INV_BMS_3));//离网-逆变器-虚拟BMS |
| | | //电池包转换器 |
| | | this.createFileDir(this.getHdlESLocalJsonZhRootPath(HdlESLocalJsonLogic.DeviceModel.INV_KE_GLE_B5K_BATTERY));//电池包转换器 |
| | | |
| | | |
| | | //英文文件夹 |
| | | this.createFileDir(this.getHdlESLocalJsonEnRootPath(HdlESLocalJsonLogic.DeviceModel.INV)); |
| | | this.createFileDir(this.getHdlESLocalJsonEnRootPath(HdlESLocalJsonLogic.DeviceModel.LC)); |
| | | this.createFileDir(this.getHdlESLocalJsonEnRootPath(HdlESLocalJsonLogic.DeviceModel.INV_BMS)); |
| | | this.createFileDir(this.getHdlESLocalJsonEnRootPath(HdlESLocalJsonLogic.DeviceModel.INV_BATTERY)); |
| | | //离线逆变器 |
| | | this.createFileDir(this.getHdlESLocalJsonEnRootPath(HdlESLocalJsonLogic.DeviceModel.OFF_INV));//离线-逆变器 |
| | | this.createFileDir(this.getHdlESLocalJsonEnRootPath(HdlESLocalJsonLogic.DeviceModel.OFF_INV_BMS));//离网-逆变器-虚拟BMS |
| | | this.createFileDir(this.getHdlESLocalJsonEnRootPath(HdlESLocalJsonLogic.DeviceModel.OFF_INV_BATTERY));//离网-逆变器-电池包 |
| | | |
| | | //离线-3.6kw逆变器 |
| | | this.createFileDir(this.getHdlESLocalJsonEnRootPath(HdlESLocalJsonLogic.DeviceModel.OFF_INV_3));//离线-逆变器 |
| | | this.createFileDir(this.getHdlESLocalJsonEnRootPath(HdlESLocalJsonLogic.DeviceModel.OFF_INV_BMS_3));//离网-逆变器-虚拟BMS |
| | | |
| | | //电池包转换器 |
| | | this.createFileDir(this.getHdlESLocalJsonEnRootPath(HdlESLocalJsonLogic.DeviceModel.INV_KE_GLE_B5K_BATTERY));//电池包转换器 |
| | | |
| | | } |
| | | |
| | |
| | | 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; |
| | |
| | | } |
| | | // 删除文件夹本身 |
| | | boolean succeed = fileRoot.delete();//文件夹空这个方法才有效 |
| | | System.out.println("删除文件夹路径--->" + fileRoot.getAbsolutePath() + "===删除结果--->" + succeed); |
| | | System.out.println("删除文件夹路径---" + fileRoot.getAbsolutePath() + "===删除结果---" + succeed); |
| | | } catch (Exception e) { |
| | | System.out.println("删除文件夹有异常===" + e.getMessage()); |
| | | } |
| | |
| | | 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; |
| | |
| | | File file = new File(fullPath); |
| | | if (file.exists()) { |
| | | boolean succeed = file.delete(); |
| | | System.out.println("删除文件--->" + fullPath + "===结果--->" + succeed); |
| | | System.out.println("删除文件---" + fullPath + "===结果---" + succeed); |
| | | return succeed; |
| | | } |
| | | return true; |
| | |
| | | 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()); |
| | | } |
| | | |
| | | } |
| | |
| | | d.flush(); |
| | | d.close(); |
| | | if (file.length() > 1024 * 1024 * mDataSize) { |
| | | //文件大于1m,删除文件前20条日志 |
| | | this.delFileLien(fullPath, 20); |
| | | //文件大于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; |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 读取文件 |
| | |
| | | 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); |
| | | System.out.println("读取文件成功---" + filePath); |
| | | return bytes; |
| | | } catch (Exception e1) { |
| | | System.out.println("读取文件有异常--->" + e1.getMessage()); |
| | | System.out.println("读取文件有异常---" + e1.getMessage()); |
| | | return null; |
| | | } |
| | | |
| | |
| | | fileLength = f.length(); |
| | | return new FileInputStream(f); |
| | | } catch (Exception e1) { |
| | | System.out.println("读取文件有异常--->" + e1.getMessage()); |
| | | System.out.println("读取文件有异常---" + e1.getMessage()); |
| | | return null; |
| | | } |
| | | |
| | |
| | | */ |
| | | public boolean isBoolean(String path) { |
| | | if (path.contains("//") || path.contains("\\")) { |
| | | System.out.println("无效文件路径--->" + path); |
| | | System.out.println("无效文件路径---" + path); |
| | | return false; |
| | | } |
| | | return true; |