CSVWriter不会将ArrayList转换为Array

时间:2017-03-01 17:19:10

标签: java arrays csv arraylist

我想将多维数组导出为CSV文件。我能够获得一个可以导出的数据集,但我正在努力增加数组

这是我到目前为止所做的:

String[][] data = new String[][] {
    new String[]{"quick","brown","fox"},
    new String[]{"apple","banana","cherry"},
    new String[]{"quick","brown","fox"}
};

for(int i=0; i<data.length; i++) {
        //first line prints "quick", "brown", "fox" etc
            writer.writeNext(data[i]);
        }

现在我的代码越来越多,我需要能够将数组添加到&#34; data&#34;。

例如,如果我有:

String[] abc = new String[] {"a","b","c"};
String[] def = new String[] {"d","e","f"};
...

并且我不知道我将拥有多少这些字符串数组,研究告诉我,我需要将这些数组添加到ArrayList中。所以我想出了类似的东西:

        List<String[]> stockList = new ArrayList<String[]>();
        stockList.add(abc);
        stockList.add(def);
        // could potentially add more

        String[] stockArr = new String[stockList.size()];
        stockArr = stockList.toArray(stockArr);

        for(int i=0; i<data.length; i++) {
            writer.writeNext(stockArr[i]);
            Log.i("loop", "here: " + data[i]);
        }

除了writeNext不能应用于java字符串。

总的来说,似乎我需要一个字符串数组的ArrayList。然后在最后,将ArrayList转换为数组而不丢失字符串数组?

感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:1)

你试过这个:

for(String[] arr:stockList) {
    writer.writeNext(arr);
    Log.i("loop", "here: " + arr);
}

更好的是:

writer.writeAll(stockList);