ソースを参照

优化模板文件读取,保留 windows 换行字符 \r

James 4 年 前
コミット
b4759dba81

+ 4 - 11
src/main/java/com/jfinal/template/source/ClassPathSource.java

@@ -16,7 +16,6 @@
 
 package com.jfinal.template.source;
 
-import java.io.BufferedReader;
 import java.io.File;
 import java.io.InputStream;
 import java.io.InputStreamReader;
@@ -141,18 +140,12 @@ public class ClassPathSource implements ISource {
 	public static StringBuilder loadFile(InputStream inputStream, String encoding) {
 		StringBuilder ret = new StringBuilder();
 		
-		try (BufferedReader br = new BufferedReader(new InputStreamReader(inputStream, encoding))) {
-			// br = new BufferedReader(new FileReader(fileName));
-			String line = br.readLine();
-			if (line != null) {
-				ret.append(line);
-			} else {
-				return ret;
+		char[] buf = new char[1024];
+		try (InputStreamReader isr = new InputStreamReader(inputStream, encoding)) {
+			for (int num; (num = isr.read(buf, 0, buf.length)) != -1;) {
+				ret.append(buf, 0, num);
 			}
 			
-			while ((line=br.readLine()) != null) {
-				ret.append('\n').append(line);
-			}
 			return ret;
 		} catch (Exception e) {
 			throw new RuntimeException(e);