From af8ddc10daf77e72769751cb32d52d3df55dd7cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E7=B2=BE=E5=8D=8E?= <842761733@qq.com> Date: Wed, 17 Apr 2019 11:56:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E4=BB=B6=E8=BD=AC=E6=8D=A2=E7=BC=96?= =?UTF-8?q?=E7=A0=81=E9=BB=98=E8=AE=A4=E6=A0=B9=E6=8D=AE=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E8=8E=B7=E5=8F=96=EF=BC=8C=E5=8F=98=E4=B8=BA?= =?UTF-8?q?=E5=8F=AF=E9=80=89=E9=85=8D=E7=BD=AE=20=E6=96=87=E6=9C=AC?= =?UTF-8?q?=E5=92=8C=E5=A4=9A=E5=AA=92=E4=BD=93=E7=B1=BB=E5=9E=8B=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E9=BB=98=E8=AE=A4=E5=80=BC=EF=BC=8C=E5=8F=98=E4=B8=BA?= =?UTF-8?q?=E5=8F=AF=E9=80=89=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/conf/application.properties | 12 +++++------ .../keking/config/ConfigRefreshComponent.java | 13 ++++++++---- .../main/java/cn/keking/utils/FileUtils.java | 21 +++---------------- 3 files changed, 18 insertions(+), 28 deletions(-) diff --git a/jodconverter-web/src/main/conf/application.properties b/jodconverter-web/src/main/conf/application.properties index 5c568a18..a774c5d2 100644 --- a/jodconverter-web/src/main/conf/application.properties +++ b/jodconverter-web/src/main/conf/application.properties @@ -27,9 +27,9 @@ spring.http.multipart.max-file-size=100MB #spring.redisson.address = 192.168.1.204:6379 #######################################可在运行时动态配置####################################### -##文本类型 -simText = txt,html,xml,java,properties,mp3,mp4,sql -#多媒体类型 -media=mp3,mp4,flv, -#文件转换编码 -converted.file.charset = GBK +#文本类型,默认如下,可自定义添加 +#simText = txt,html,xml,properties,md,java,py,c,cpp,sql +#多媒体类型,默认如下,可自定义添加 +#media = mp3,wav,mp4,flv +#文件转换编码,默认根据操作系统获取 +#converted.file.charset = GBK diff --git a/jodconverter-web/src/main/java/cn/keking/config/ConfigRefreshComponent.java b/jodconverter-web/src/main/java/cn/keking/config/ConfigRefreshComponent.java index d392292c..8a91da8f 100644 --- a/jodconverter-web/src/main/java/cn/keking/config/ConfigRefreshComponent.java +++ b/jodconverter-web/src/main/java/cn/keking/config/ConfigRefreshComponent.java @@ -21,6 +21,10 @@ public class ConfigRefreshComponent { private static final Logger LOGGER = LoggerFactory.getLogger(ConfigRefreshComponent.class); + public static final String DEFAULT_TXT_TYPE = "txt,html,xml,properties,md,java,py,c,cpp,sql"; + public static final String DEFAULT_MEDIA_TYPE = "mp3,wav,mp4,flv"; + + @PostConstruct void refresh() { Thread configRefreshThread = new Thread(new ConfigRefreshThread()); @@ -32,9 +36,10 @@ public class ConfigRefreshComponent { public void run() { try { Properties properties = new Properties(); + Properties sysProperties = System.getProperties(); String text; String media; - String convertedFileCharset; + String convertedFileCharset = sysProperties.getProperty("sun.jnu.encoding"); String[] textArray ; String[] mediaArray; String homePath = OfficeUtils.getHomePath(); @@ -43,9 +48,9 @@ public class ConfigRefreshComponent { while (true) { BufferedReader bufferedReader = new BufferedReader(new FileReader(configFilePath)); properties.load(bufferedReader); - text = properties.get("simText") == null ? "" : properties.get("simText").toString(); - media = properties.get("media") == null ? "" : properties.get("media").toString(); - convertedFileCharset = properties.get("converted.file.charset") == null ? "" : properties.get("converted.file.charset").toString(); + text = properties.getProperty("simText", DEFAULT_TXT_TYPE); + media = properties.getProperty("media", DEFAULT_MEDIA_TYPE); + convertedFileCharset = properties.getProperty("converted.file.charset", convertedFileCharset); textArray = text.split(","); mediaArray = media.split(","); ConfigConstants.setSimText(textArray); diff --git a/jodconverter-web/src/main/java/cn/keking/utils/FileUtils.java b/jodconverter-web/src/main/java/cn/keking/utils/FileUtils.java index 5372374e..4e241341 100644 --- a/jodconverter-web/src/main/java/cn/keking/utils/FileUtils.java +++ b/jodconverter-web/src/main/java/cn/keking/utils/FileUtils.java @@ -8,7 +8,6 @@ import com.google.common.collect.Lists; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import java.io.*; @@ -32,14 +31,6 @@ public class FileUtils { String fileDir = ConfigConstants.getFileDir(); - @Value("${converted.file.charset}") - String charset; - - @Value("${simText}") - String[] simText; - - @Value("${media}") - String[] media; /** * 已转换过的文件集合(redis缓存) * @return @@ -63,12 +54,8 @@ public class FileUtils { * @return */ public FileType typeFromUrl(String url) { - if (ConfigConstants.getSimText() != null && ConfigConstants.getSimText().length > 0) { - simText = ConfigConstants.getSimText(); - } - if (ConfigConstants.getMedia() != null && ConfigConstants.getMedia().length > 0) { - media = ConfigConstants.getMedia(); - } + String[] simText = ConfigConstants.getSimText(); + String[] media = ConfigConstants.getMedia(); String nonPramStr = url.substring(0, url.indexOf("?") != -1 ? url.indexOf("?") : url.length()); String fileName = nonPramStr.substring(nonPramStr.lastIndexOf("/") + 1); String fileType = fileName.substring(fileName.lastIndexOf(".") + 1); @@ -223,9 +210,7 @@ public class FileUtils { */ public void doActionConvertedFile(String outFilePath) { StringBuffer sb = new StringBuffer(); - if(ConfigConstants.getConvertedFileCharset() != null) { - charset = ConfigConstants.getConvertedFileCharset(); - } + String charset = ConfigConstants.getConvertedFileCharset(); try (InputStream inputStream = new FileInputStream(outFilePath); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, charset))){ String line;