diff --git a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java index f37b817e9..6c9406a8b 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java @@ -1016,6 +1016,17 @@ public abstract class JTemplate> } } + public byte[] exportData() throws Exception { + try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) { + BaseBook target = getTarget(); + if (target != null) { + target.export(outputStream); + return outputStream.toByteArray(); + } + } + return new byte[0]; + } + protected boolean export() throws Exception { return this.getTarget().export(TemplateResourceManager.getResource().saveTemplate(getEditingFILE())); diff --git a/designer-base/src/main/java/com/fr/design/utils/TemplateUtils.java b/designer-base/src/main/java/com/fr/design/utils/TemplateUtils.java index 2fac1e903..a84c260c3 100644 --- a/designer-base/src/main/java/com/fr/design/utils/TemplateUtils.java +++ b/designer-base/src/main/java/com/fr/design/utils/TemplateUtils.java @@ -1,7 +1,6 @@ package com.fr.design.utils; import com.fr.base.extension.FileExtension; -import com.fr.base.io.BaseBook; import com.fr.design.file.HistoryTemplateListCache; import com.fr.design.file.TemplateTreePane; import com.fr.design.i18n.Toolkit; @@ -17,9 +16,9 @@ import com.fr.stable.CoreConstants; import com.fr.stable.ProductConstants; import com.fr.workspace.WorkContext; import com.fr.workspace.server.lock.TplOperator; -import java.io.ByteArrayOutputStream; -import java.io.OutputStream; + import javax.swing.SwingWorker; +import java.io.OutputStream; /** * @author hades @@ -65,12 +64,7 @@ public class TemplateUtils { if (!needOpen) { // 从当前编辑模板中生成备份文件 JTemplate template = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate(); - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - BaseBook target = template.getTarget(); - if (target != null) { - target.export(outputStream); - content = outputStream.toByteArray(); - } + content = template.exportData(); } else { content = WorkContext.getWorkResource().readFully(oldPath); }