Browse Source

优化压缩

James 5 years ago
parent
commit
ded6580ced
1 changed files with 9 additions and 1 deletions
  1. 9 1
      src/main/java/com/jfinal/template/stat/Compressor.java

+ 9 - 1
src/main/java/com/jfinal/template/stat/Compressor.java

@@ -42,13 +42,16 @@ public class Compressor {
 	
 	public StringBuilder compress(StringBuilder content) {
 		int len = content.length();
-		StringBuilder result = new StringBuilder(len);
+		StringBuilder result = null;
 		
 		int begin = 0;
 		int forward = 0;
 		int compressMode = 1;		// 1 表示第一行
 		while (forward < len) {
 			if (content.charAt(forward) == '\n') {
+				if (result == null) {
+					result = new StringBuilder(len);		// 延迟创建
+				}
 				compressLine(content, begin, forward - 1, compressMode, result);
 				
 				begin = forward + 1;
@@ -59,6 +62,11 @@ public class Compressor {
 			}
 		}
 		
+		// 如果 compressMode 为 1,表明当前既是第一行也是最后一行
+		if (compressMode == 1) {
+			return content;
+		}
+		
 		compressMode = 3;			// 3 表示最后一行
 		compressLine(content, begin, forward - 1, compressMode, result);