Browse Source

基本完成,但是所有结果存在一个变量里面,造成内存溢出。而一个结果一个结果写文件,也会导致高并发写磁盘,为此。分批操作!

liuyuqi-dellpc 7 years ago
parent
commit
e70ffd329c
3 changed files with 9 additions and 6 deletions
  1. 1 0
      .gitignore
  2. 0 0
      data/result.txt
  3. 8 6
      src/me/yoqi/composename/Compose.java

+ 1 - 0
.gitignore

@@ -1,3 +1,4 @@
 /.settings
 /bin
 /target
+/data/result.txt

+ 0 - 0
data/result.txt


+ 8 - 6
src/me/yoqi/composename/Compose.java

@@ -20,21 +20,23 @@ public class Compose {
 
 		String dataUrl = Messages.getString("Compose.data");
 		String resultUrl = "data/result.txt";
-		String result = null;
+		String result = "";
 
 		TextHelper textHelper = new TextHelper();
 		ArrayList<String> allChinese = textHelper.readTextByWord(dataUrl);
-		ArrayList<String> allChineseName = textHelper.readTextByWord(dataUrl);
+		ArrayList<String> allChineseName = new ArrayList<String>();
 		// 两两组合
-		for (int i = 0; i < 20; i++) {
-			for (int j = i + 1; j < allChinese.size() - 1; j++) {
+		for (int i = 0; i < allChinese.size(); i++) {
+			for (int j = i + 1; j < allChinese.size(); j++) {
 				allChineseName.add(allChinese.get(i) + allChinese.get(j));
 			}
 		}
 		// 打印输出
 		for (int k = 0; k < allChineseName.size(); k++) {
-			result += allChineseName.get(k);
+			// result += allChineseName.get(k)+
+			// System.getProperty("line.separator");
+			result += allChineseName.get(k) + "    ";
 		}
-		textHelper.writeText(resultUrl, result);
+		TextHelper.writeText(resultUrl, result);
 	}
 }