java - CSVWriter不会将ArrayList转换为Array

标签 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]);
        }

现在,随着我的代码的发展,我需要能够将数组添加到“数据”中。

例如,如果我有:

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 转换为 Array 并且不会丢失字符串数组?

非常感谢任何帮助,谢谢!

最佳答案

你尝试过这个吗:

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

更好的是:

writer.writeAll(stockList);

关于java - CSVWriter不会将ArrayList转换为Array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42538062/

相关文章:

java - 提取出现在特定模式之后的子串

java - Eclipse 自动完成功能显示提案但不填写它们

java - OpenLdap 服务器,Spring ldap 用户绑定(bind) (inetOrgPerson) 没有这样的对象

PostgreSQL 复制到 - CSV 文件名编码

java - 为什么我们不在 Spark-Cassandra-Connector 中定义一个 ReaderBuilder 来从 cassandra DB 读取数据

java - java使用arraycopy方法右循环移位

ios - 将多个值存储到 NSDictionary 中的单个键

arrays - Azure 逻辑应用程序将 XML 转换为 JSON,但将对象的一项数组视为一个对象,在解析 JSON 时如何处理它?

python - 无法在包含旧数据的现有 csv 文件中*首先*附加新结果

linux命令根据模式将大型csv文件随机排列以交替行