2015-06-05 82 views
-1

我想用String數組寫一個文件。我已經編寫了在最後添加額外分隔符的代碼。創建逗號分隔文件 - 尾隨分隔符

for(String data : fieldsData){ 
    data="\""+data+"\""; 
    writer.write(data); 
    writer.write(","); 
} 
writer.newLine(); 

例如,對於該輸入

A,B,C

我正在此輸出

「一」, 「B」,」 c「,

+0

你的問題是有些含糊 - 所以你想要的報價,但不是最後的','? – Reimeus

+0

請澄清你的問題。你的'a,b,c'輸入需要什麼樣的輸出? – Shoshi

+0

所需輸出---「a」,「b」,「c」 – iKing

回答

1

您需要使用一個基本的for循環,以確定最後的指數出現

for (int i = 0; i < fieldsData.length - 1; i++) { 
    writer.write("\"" + fieldsData[i] + "\","); 
} 
writer.write("\"" + fieldsData[fieldsData.length - 1] + "\""); 
+0

爲什麼要使用if語句。你可以在For上取長度爲1,然後在For之外寫一個「out」。沒有? –

0

後,您可以使用正則表達式通過檢查逗號後的空格替換最後一個逗號,然後用空替換串。是這樣的:

for(String data : fieldsData){ 
data="\""+data+"\""+","; 
} 
data.replaceAll(",\\s", ""); 
writer.write(data) 
1

的Java 8路:

writer.write(Arrays.stream(fieldsData) 
     .map(s -> "\"" + s + "\"") 
     .collect(Collectors.joining(",")));