从两个ArrayList

时间:2017-10-12 05:35:16

标签: java csv arraylist

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

Domain         Total
gmail.com      90

Application     Total
IP 1             30
IP 2             30
IP 3             30

第一个arraylist将存储域和总数的数据,如下所示。 arraylist中的数据序列为TotalDomain

[2212, gmail.com"]

第二个arraylist将存储应用程序和总数的数据,如下所示.arraylist中的数据序列为IPTotal

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

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

1 个答案:

答案 0 :(得分:2)

您不需要使用任何外部库来写入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();
    }
}