【问题标题】:Write data to CSV from two ArrayList从两个 ArrayList 将数据写入 CSV
【发布时间】:2018-03-23 22:48:32
【问题描述】:

我需要将两个arraylist中的数据写入这些格式的CSV文件

Domain         Total
gmail.com      90

Application     Total
IP 1             30
IP 2             30
IP 3             30

第一个数组列表将存储域和总计的数据,如下所示。 arraylist中数据的顺序是Total,Domain

[2212, gmail.com"]

第二个arraylist将存储应用程序和total的数据,如下所示。arraylist中数据的顺序是IP,Total

["192.168.0.175", 403, "192.168.0.26", 1809]

我正在寻找将数据写入 csv 文件的最佳方法,但我无法真正理解它是如何工作的?任何人都可以提供任何方向,我现在迷失在这部分

【问题讨论】:

  • 到目前为止您尝试过什么?你在用 csvWriter 吗?
  • 在 gmail.com 示例中缺少引号?
  • 我尝试在线阅读示例,但我现在迷路了
  • csvWriter 会是个不错的选择吗?
  • 您是否尝试将这两种数据写入同一个文件?为什么要问两种情况?你搜索过堆栈溢出吗?许多 Java + CSV 问题已经被提出和回答。说明您的问题有何不同之处且尚未涵盖。

标签: java csv arraylist


【解决方案1】:

您不需要使用任何外部库来写入 CSV 文件。它们只是txt 用逗号分隔的文件。

这是完成这项工作的代码:

import java.util.ArrayList;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.File;
import java.io.IOException;
class test
{
    public static void main(String arg[])throws IOException
    {
        ArrayList<String> list1 = new ArrayList<>();
        list1.add("2212");
        list1.add("gmail.com");

        ArrayList<String> list2 = new ArrayList<>();
        list2.add("192.168.0.175");
        list2.add("403");
        list2.add("192.168.0.26");
        list2.add("1809");

        File file = new File("test.csv");
        FileWriter fw = new FileWriter(file);
        BufferedWriter bw = new BufferedWriter(fw);

        bw.write("Domain,Total");
        bw.newLine();
        for(int i=0;i<list1.size();i++)
        {
            bw.write(list1.get(i+1)+","+list1.get(i++));
            bw.newLine();
        }
        bw.write("\nApplication,Total");
        bw.newLine();
        for(int i=0;i<list2.size();i++)
        {
            bw.write(list2.get(i++)+","+list2.get(i));
            bw.newLine();
        }
        bw.close();
        fw.close();
    }
}

【讨论】:

  • 虽然没有必要,但 Apache Commons CSV 之类的库确实可以减少繁琐的工作。
猜你喜欢
  • 2022-01-08
  • 2023-04-04
  • 2021-05-17
  • 1970-01-01
  • 2017-12-03
  • 2014-10-04
  • 2020-04-13
  • 2012-08-21
  • 2022-01-12
相关资源
最近更新 更多