我需要将两个arraylist中的数据写入这些格式的CSV文件
Domain Total
gmail.com 90
Application Total
IP 1 30
IP 2 30
IP 3 30
第一个arraylist将存储域和总数的数据,如下所示。 arraylist中的数据序列为Total
,Domain
[2212, gmail.com"]
第二个arraylist将存储应用程序和总数的数据,如下所示.arraylist中的数据序列为IP
,Total
["192.168.0.175", 403, "192.168.0.26", 1809]
我正在寻找将数据写入csv文件的最佳方法,但我真的不明白它是如何工作的?任何人都可以提供任何指示,我现在迷失了这部分
答案 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();
}
}