文件转换编码默认根据操作系统获取,变为可选配置

文本和多媒体类型添加默认值,变为可选配置
pull/9/head
陈精华 2019-04-17 11:56:35 +08:00 committed by kl
parent 3713e6e550
commit af8ddc10da
3 changed files with 18 additions and 28 deletions

View File

@ -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

View File

@ -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);

View File

@ -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;