2017-06-21 162 views
-3

我想問一下如何使這個代碼的一些技巧simplier如何讓這段代碼更簡單?

private void outputPatternList(String message) throws IOException { 

    try (BufferedWriter out = new BufferedWriter(new FileWriter(patternList, true))) { 
     out.write(message); 
     out.write("\n"); 
    } 
} 
+2

你只在這裏進行兩次寫操作。你不知道這是否是最後一次寫入。來電者是否知道?也許你應該檢查文件是否已經存在,並將'\ n'寫爲*前綴*(如果它已經存在)而不是作爲後綴? 「 –

+0

」也許你應該檢查文件是否已經存在並且寫一個\ n作爲前綴(如果它已經存在)而不是作爲後綴?「 我覺得這個很好。謝謝! –

回答

1

你需要重構代碼,以這樣的:

private void outputPatternList(List<String> lines) throws IOException { 
    StringBuilder builder = new StringBuilder(); 
    for (String line : lines) { 
     builder.append(line).append("/n"); 
    } 
    String message = builder.toString().trim(); 
    try (BufferedWriter out = new BufferedWriter(new FileWriter(patternList, true))) { 
     out.write(message); 
    } 
}