Java 写入超长字符串csv头
我必须写出一个CSV文件,标题有100个字段。 此时此刻,我正在一份Java 写入超长字符串csv头,java,string,csv,Java,String,Csv,我必须写出一个CSV文件,标题有100个字段。 此时此刻,我正在一份 private static final String HEADER = "header1, header2, header3, ...., header100"; 它是有效的,但它非常凌乱,难以阅读 有没有更整洁的方式可以让我试试 更新 我想我会使用LinkedHashmap(键是columnID,值是header1,等等)来构建它。这样,如果需要,更新字段标题将更容易 清理代码的一个技巧是在自己的行中使用并指定每个元素,
private static final String HEADER = "header1, header2, header3, ...., header100";
它是有效的,但它非常凌乱,难以阅读
有没有更整洁的方式可以让我试试
更新我想我会使用LinkedHashmap(键是columnID,值是header1,等等)来构建它。这样,如果需要,更新字段标题将更容易 清理代码的一个技巧是在自己的行中使用并指定每个元素,然后将它们连接在一起:
private static final String HEADER = Stream.of(
"header1",
"header2",
"header3",
// etc...
).collect(Collectors.joining(", "));
当然,如果您的标题实际上是“header1”、“header2”等,您可以直接从流生成它们:
private static final String HEADER =
IntStream.rangeClosed(1, 100)
.mapToObj(i -> "header" + i)
.collect(Collectors.joining(", "));
嗯,你可以使用com.google.common.base.Joiner,如果这对你来说不那么难看的话:
HEADER = Joiner.on(", ").join("header1", "header2")
你从哪里得到你的数据?header1,header2,….使用列表?为什么不使用标准Java API的String.join呢?