diff --git a/README.en.md b/README.en.md
index 510f198..75e547d 100644
--- a/README.en.md
+++ b/README.en.md
@@ -85,13 +85,13 @@ The framework is not the framework for beautifying UI, but to simplify the step
- [ ] Data valication
- [ ] Optimize performance
-## ~~Maven Repository~~
+## Maven Repository
```xml
com.gitee.Biubiuyuyu
javafx-plus
- 1.0.0-RELEASE
+ 1.2.1-SNAPSHOT
```
diff --git a/pom.xml b/pom.xml
index 57d1f78..8f8c84d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,6 +25,7 @@
1.7.21
9.0.48
3.12.0
+ 2.11.0
@@ -60,6 +61,12 @@
commons-lang3
${commons-lang3.version}
+
+
+ commons-io
+ commons-io
+ ${commons-io.version}
+
@@ -118,6 +125,20 @@
+
+
+ org.apache.maven.plugins
+ maven-source-plugin
+ 3.0.1
+
+
+ package
+
+ jar-no-fork
+
+
+
+
@@ -126,20 +147,6 @@
release
-
-
- org.apache.maven.plugins
- maven-source-plugin
- 2.2.1
-
-
- package
-
- jar-no-fork
-
-
-
-
org.apache.maven.plugins
diff --git a/src/main/java/cn/edu/scau/biubiusuisui/utils/FileUtil.java b/src/main/java/cn/edu/scau/biubiusuisui/utils/FileUtil.java
index a5d9175..fca71fc 100644
--- a/src/main/java/cn/edu/scau/biubiusuisui/utils/FileUtil.java
+++ b/src/main/java/cn/edu/scau/biubiusuisui/utils/FileUtil.java
@@ -3,6 +3,7 @@ package cn.edu.scau.biubiusuisui.utils;
import cn.edu.scau.biubiusuisui.exception.ProtocolNotSupport;
import cn.edu.scau.biubiusuisui.log.FXPlusLoggerFactory;
import cn.edu.scau.biubiusuisui.log.IFXPlusLogger;
+import org.apache.tomcat.util.http.fileupload.IOUtils;
import java.io.*;
import java.net.URL;
@@ -34,12 +35,28 @@ public class FileUtil {
* @param filePath
* @return
* @description 读取resources文件夹下的file,相对于resources的文件路径,如 resources/config.conf 则只需 config.conf
+ * @since 1.2.0 update: 使用getResourcesAsStream读取,屏蔽jar包读取障碍
*/
public static String readFileFromResources(String filePath) throws UnsupportedEncodingException {
- URL url = FileUtil.class.getClassLoader().getResource(filePath);
- if (url != null) {
- String path = StringUtil.getRootPath(url);
- return readFile(path);
+ InputStream is = FileUtil.class.getClassLoader().getResourceAsStream(filePath);
+ if (is == null) {
+ return "";
+ }
+ StringBuffer content = new StringBuffer();
+ try (
+ InputStreamReader inputStreamReader = new InputStreamReader(is);
+ BufferedReader br = new BufferedReader(inputStreamReader);
+ ) {
+ String temp;
+ while ((temp = br.readLine()) != null) {
+ // 一次读入一行数据
+ content.append(temp + "\r\n");
+ }
+ return content.toString();
+ } catch (IOException e) {
+ logger.error("reading file error", e);
+ } finally {
+ IOUtils.closeQuietly(is);
}
return "";
}
@@ -60,8 +77,7 @@ public class FileUtil {
content.append(temp + "\r\n");
}
} catch (IOException e) {
- logger.error(e.getMessage());
- e.printStackTrace();
+ logger.error("reading file error", e);
}
return content.toString();
}