Index: forgon-core/src/main/java/com/forgon/dataupdater/service/UpdateDataBetween2VersionByExecSqls.java =================================================================== diff -u -r14586 -r15363 --- forgon-core/src/main/java/com/forgon/dataupdater/service/UpdateDataBetween2VersionByExecSqls.java (.../UpdateDataBetween2VersionByExecSqls.java) (revision 14586) +++ forgon-core/src/main/java/com/forgon/dataupdater/service/UpdateDataBetween2VersionByExecSqls.java (.../UpdateDataBetween2VersionByExecSqls.java) (revision 15363) @@ -6,7 +6,6 @@ import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFoundException; -import java.io.FileReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; @@ -18,10 +17,9 @@ import com.forgon.dataupdater.model.UpdateDataContext; import com.forgon.tools.Path; -import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.db.InitDbConnection; import com.forgon.tools.hibernate.ObjectDao; -import com.forgon.util.FileUtils; +import com.forgon.tools.util.FileUtils; /** * @author Jeff Li Index: forgon-tools/src/main/java/com/forgon/tools/util/FileUtils.java =================================================================== diff -u -r15191 -r15363 --- forgon-tools/src/main/java/com/forgon/tools/util/FileUtils.java (.../FileUtils.java) (revision 15191) +++ forgon-tools/src/main/java/com/forgon/tools/util/FileUtils.java (.../FileUtils.java) (revision 15363) @@ -3,7 +3,12 @@ */ package com.forgon.tools.util; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; import java.io.IOException; +import java.io.InputStream; import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.Path; @@ -12,16 +17,105 @@ import java.util.ArrayList; import java.util.List; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.log4j.Logger; + /** * @author jeffli 2016年9月27日 下午3:25:20 * */ public class FileUtils { + private static final Logger logger = Logger.getLogger(FileUtils.class); + + // 创建文件,如果文件不存在 + public static boolean createFileIfNotExist(String pathName) { + if (StringUtils.isBlank(pathName)) { + return false; + } + File file = new File(pathName); + if (file.exists()) { + return true; + } + try { + return file.createNewFile(); + } catch (IOException e) { + logger.warn("创建文件失败,文件路径:" + pathName); + e.printStackTrace(); + } + return false; + } + + public static boolean fileExist(String pathName) { + File file = new File(pathName); + return file.exists(); + } + + public static byte[] readFileBytes(String absolutePath) { + byte[] bytes = null; + InputStream in = null; + try { + in = new FileInputStream(absolutePath); + bytes = new byte[in.available()]; + // 一次读入所有的字节数 + in.read(bytes); + } catch (Exception e1) { + e1.printStackTrace(); + } finally { + if (in != null) { + try { + in.close(); + } catch (IOException e1) { + e1.printStackTrace(); + } + } + } + return bytes == null ? new byte[0] : bytes; + } + + public static boolean saveBytesToFile(byte[] bytes, String absolutePath) { + boolean saved = false; + if (StringUtils.isBlank(absolutePath)) { + return false; + } + if (ArrayUtils.isEmpty(bytes)) { + return false; + } + FileOutputStream fos = null; + try { + createFileIfNotExist(absolutePath); + fos = new FileOutputStream(absolutePath); + fos.write(bytes, 0, bytes.length); + saved = true; + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } finally { + try { + fos.close(); // 关闭FileOutputStream对象 + } catch (IOException e) { + e.printStackTrace(); + } + } + return saved; + } + + public static void closeFileOutputStream(FileOutputStream fos) { + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + public static String readAllContentAsString(String path, String charsetStr) { return readAllContentAsString(Paths.get(path), charsetStr); } - + public static String readAllContentAsString(Path path, String charsetStr) { try { Charset charset = Charset.forName(charsetStr); @@ -33,6 +127,20 @@ return null; } + public static byte[] readAllContentAsBytes(String path) { + return readAllContentAsBytes(Paths.get(path)); + } + + public static byte[] readAllContentAsBytes(Path path) { + try { + byte[] bytes = Files.readAllBytes(path); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + public static boolean writeStringToFile(String path, String content, String charsetStr) { try { Index: ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/security/service/WebServiceManagerImpl.java =================================================================== diff -u -r15324 -r15363 --- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/security/service/WebServiceManagerImpl.java (.../WebServiceManagerImpl.java) (revision 15324) +++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/security/service/WebServiceManagerImpl.java (.../WebServiceManagerImpl.java) (revision 15363) @@ -101,8 +101,8 @@ import com.forgon.tools.json.DateJsonValueProcessor; import com.forgon.tools.json.JSONUtil; import com.forgon.tools.json.JsonPropertyFilter; +import com.forgon.tools.util.FileUtils; import com.forgon.treenode.model.THTreeNode; -import com.forgon.util.FileUtils; import com.google.gson.Gson; import com.google.gson.JsonObject; Fisheye: Tag 15363 refers to a dead (removed) revision in file `forgon-core/src/main/java/com/forgon/util/FileUtils.java'. Fisheye: No comparison available. Pass `N' to diff? Index: forgon-core/src/main/java/com/forgon/dataupdater/service/DataUpdater.java =================================================================== diff -u -r12332 -r15363 --- forgon-core/src/main/java/com/forgon/dataupdater/service/DataUpdater.java (.../DataUpdater.java) (revision 12332) +++ forgon-core/src/main/java/com/forgon/dataupdater/service/DataUpdater.java (.../DataUpdater.java) (revision 15363) @@ -16,7 +16,7 @@ import com.forgon.keyvalue.model.KeyValue; import com.forgon.keyvalue.service.KeyValueManager; import com.forgon.tools.Path; -import com.forgon.util.FileUtils; +import com.forgon.tools.util.FileUtils; /** * @author Jeff Li Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java =================================================================== diff -u -r15299 -r15363 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java (.../SterilizationRecordAction.java) (revision 15299) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java (.../SterilizationRecordAction.java) (revision 15363) @@ -69,8 +69,8 @@ import com.forgon.tools.hibernate.ObjectDao; import com.forgon.tools.json.JsonPropertyFilter; import com.forgon.tools.string.StringTools; +import com.forgon.tools.util.FileUtils; import com.forgon.tools.util.ForgonDateUtils; -import com.forgon.util.FileUtils; import com.opensymphony.xwork2.ModelDriven; import com.opensymphony.xwork2.Preparable; Index: ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/basic/service/MaintainManagerImpl.java =================================================================== diff -u -r15324 -r15363 --- ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/basic/service/MaintainManagerImpl.java (.../MaintainManagerImpl.java) (revision 15324) +++ ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/basic/service/MaintainManagerImpl.java (.../MaintainManagerImpl.java) (revision 15363) @@ -76,6 +76,7 @@ import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.db.InitDbConnection; import com.forgon.tools.hibernate.ObjectDao; +import com.forgon.tools.util.FileUtils; /** * @author Terry Kwan @@ -1244,7 +1245,7 @@ // 保存到文件系统 String absolutePath = SterilizationRecord.STERILEIMAGE_DIRECTORY + File.separator + imageFileName; - if (com.forgon.util.FileUtils.saveBytesToFile(picture, + if (FileUtils.saveBytesToFile(picture, absolutePath)) { // 更新图片记录 sterilizationRecordPic.setPicture(null); Index: ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java =================================================================== diff -u -r15318 -r15363 --- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 15318) +++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 15363) @@ -9,14 +9,11 @@ import java.util.Collection; import java.util.Collections; import java.util.Date; -import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; -import javax.servlet.http.HttpServletResponse; - import net.sf.json.JSONArray; import net.sf.json.JSONException; import net.sf.json.JSONNull; @@ -63,19 +60,14 @@ import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoods; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsBatch; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsBatchStock; -import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsIdentification; import com.forgon.disinfectsystem.entity.assestmanagement.ExpensiveDisposablegoods; -import com.forgon.disinfectsystem.entity.basedatamanager.cleanmethod.CleanMethod; import com.forgon.disinfectsystem.entity.basedatamanager.container.Container; -import com.forgon.disinfectsystem.entity.basedatamanager.materialdefinition.MaterialDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.materialinstance.MaterialInstance; -import com.forgon.disinfectsystem.entity.basedatamanager.rinser.Rinser; import com.forgon.disinfectsystem.entity.basedatamanager.sterilisation.Sterilisation; import com.forgon.disinfectsystem.entity.basedatamanager.sterilizer.Sterilizer; import com.forgon.disinfectsystem.entity.basedatamanager.taskGroup.TaskGroup; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; -import com.forgon.disinfectsystem.entity.becleanitem.ClassifiedItem; import com.forgon.disinfectsystem.entity.becleanitem.ClassifyBasket; import com.forgon.disinfectsystem.entity.invoicemanager.InvoiceDepartment; import com.forgon.disinfectsystem.entity.invoicemanager.InvoicePlan; @@ -90,7 +82,6 @@ import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizationrecord.SterilizationRecord; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizationrecord.SterilizationRecordPic; import com.forgon.disinfectsystem.entity.tousseitem.TousseItem; -import com.forgon.disinfectsystem.entity.toussetransition.TousseTransitionItem; import com.forgon.disinfectsystem.entity.useRecord.UseRecord; import com.forgon.disinfectsystem.entity.washanddisinfectmanager.washanddisinfectrecord.WashAndDisinfectRecord; import com.forgon.disinfectsystem.invoicemanager.service.InvoiceDepartmentManage; @@ -144,8 +135,8 @@ import com.forgon.tools.json.JSONUtil; import com.forgon.tools.json.JsonPropertyFilter; import com.forgon.tools.string.StringTools; +import com.forgon.tools.util.FileUtils; import com.forgon.treenode.model.THTreeNode; -import com.forgon.util.FileUtils; import com.google.gson.ExclusionStrategy; import com.google.gson.FieldAttributes; import com.google.gson.Gson;