From 6f1747409bbf134703936018c9020b9c0dac3201 Mon Sep 17 00:00:00 2001 From: plough Date: Fri, 10 May 2019 10:58:13 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-16986=20=E6=A8=A1=E6=9D=BF=E5=88=B6?= =?UTF-8?q?=E4=BD=9C=E5=9F=8B=E7=82=B9=E7=9A=84tpl.info=E9=87=8C=EF=BC=8C?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=A6=82=E6=9E=9C=E6=98=AF=E4=B8=AD=E6=96=87?= =?UTF-8?q?=E5=90=8D=E4=BC=9A=E4=B9=B1=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../template/info/TemplateInfoCollector.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/template/info/TemplateInfoCollector.java b/designer-base/src/main/java/com/fr/design/mainframe/template/info/TemplateInfoCollector.java index 0996c260c..342213e0f 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/template/info/TemplateInfoCollector.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/template/info/TemplateInfoCollector.java @@ -12,12 +12,14 @@ import com.fr.stable.xml.XMLTools; import com.fr.stable.xml.XMLWriter; import com.fr.stable.xml.XMLableReader; import com.fr.third.javax.xml.stream.XMLStreamException; -import com.fr.workspace.WorkContext; +import com.fr.third.org.apache.commons.io.FileUtils; +import java.io.ByteArrayOutputStream; import java.io.File; +import java.io.FileInputStream; import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.FileReader; +import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -133,7 +135,8 @@ public class TemplateInfoCollector implements XMLReadable, XMLWriter { return; } try { - XMLableReader xmlReader = XMLableReader.createXMLableReader(new FileReader(getInfoFile())); + InputStreamReader isReader = new InputStreamReader(new FileInputStream(getInfoFile()), StandardCharsets.UTF_8); + XMLableReader xmlReader = XMLableReader.createXMLableReader(isReader); xmlReader.readXMLObject(this); } catch (XMLStreamException e) { FineLoggerFactory.getLogger().error(e.getMessage(), e); @@ -160,8 +163,12 @@ public class TemplateInfoCollector implements XMLReadable, XMLWriter { */ private void saveInfo() { try { - FileOutputStream out = new FileOutputStream(getInfoFile()); + ByteArrayOutputStream out = new ByteArrayOutputStream(); XMLTools.writeOutputStreamXML(this, out); + out.flush(); + out.close(); + String fileContent = new String(out.toByteArray(), StandardCharsets.UTF_8); + FileUtils.writeStringToFile(getInfoFile(), fileContent, StandardCharsets.UTF_8); } catch (Exception ex) { FineLoggerFactory.getLogger().error(ex.getMessage()); }