2015-06-05 57 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(",")));