我想用String数组写一个文件。我已经编写了在最后添加额外分隔符的代码。创建逗号分隔文件 - 尾随分隔符
for(String data : fieldsData){
data="\""+data+"\"";
writer.write(data);
writer.write(",");
}
writer.newLine();
例如,对于该输入
A,B,C
我正在此输出
“一”, “B”,” c“,
我想用String数组写一个文件。我已经编写了在最后添加额外分隔符的代码。创建逗号分隔文件 - 尾随分隔符
for(String data : fieldsData){
data="\""+data+"\"";
writer.write(data);
writer.write(",");
}
writer.newLine();
例如,对于该输入
A,B,C
我正在此输出
“一”, “B”,” c“,
您需要使用一个基本的for循环,以确定最后的指数出现
for (int i = 0; i < fieldsData.length - 1; i++) {
writer.write("\"" + fieldsData[i] + "\",");
}
writer.write("\"" + fieldsData[fieldsData.length - 1] + "\"");
为什么要使用if语句。你可以在For上取长度为1,然后在For之外写一个“out”。没有? –
后,您可以使用正则表达式通过检查逗号后的空格替换最后一个逗号,然后用空替换串。是这样的:
for(String data : fieldsData){
data="\""+data+"\""+",";
}
data.replaceAll(",\\s", "");
writer.write(data)
的Java 8路:
writer.write(Arrays.stream(fieldsData)
.map(s -> "\"" + s + "\"")
.collect(Collectors.joining(",")));
你的问题是有些含糊 - 所以你想要的报价,但不是最后的','? – Reimeus
请澄清你的问题。你的'a,b,c'输入需要什么样的输出? – Shoshi
所需输出---“a”,“b”,“c” – iKing