假设我有一个包含以下内容的ArrayList
public void add() {
obj.add(1);
obj.add(123456789);
obj.add(1.222);
obj.add(2.333);
obj.add(2);
obj.add(9876541);
obj.add(4.555);
obj.add(7.888);
}
我希望将ArrayList的内容写入txt文件中,如下所示
1,123456789,1.222,2.333
2,9876541,4.555,7,888
我有以下代码将内容写入文件
public void createCSV() {
try {
FileWriter fos = new FileWriter(
"/home/data.txt");
PrintWriter out = new PrintWriter(fos);
for (int i = 0; i < obj.size(); i++) {
out.write(String.valueOf(obj.get(i)));
out.write(",");
}
out.close();
} catch (Exception e) {
}
}
public static void main(String[] args) {
JavaOp_CSV x = new JavaOp_CSV();
x.add();
x.createCSV();
}
截至目前,文件中的内容为
1,123456789,1.222,2.333,
任何人都可以提供一个逻辑来获得上面提到的o / p吗? 提前致谢
答案 0 :(得分:3)
使用StringBuilder构建稍后写入文件的字符串,并对元素保持计数i
。
if i % 4 == 0
- 添加换行符
否则:添加','
。
注意:您需要避免在第一个元素处添加新行,如果total_num_elements % 4 != 0
答案 1 :(得分:2)
你也可以试试org.apache.commons.lang.StringUtils,它有一个符合你需要的连接方法。
StringUtils.join(obj.toArray(), ',');
或者你只能确定它是第一个元素还是最后一个元素。