我有List<Cat>
(根据以下类别):
public class Cat {
public LocalDateTime dob;
public String name;
public boolean isHappy;
}
我希望将其转换为多行CSV文件(即每个Cat对象一行),然后我将其用于加载到DB中。 CSV可能如下所示:
"jack",true,"04-20-2000"
"fred",false,"01-01-1997"
对我来说,转换List<
Cat&gt; objects to CSV format? Should I just write my own
CatSerializer`课程的最佳方式是什么?或者我最好使用某种类型的库(我不知道任何库)。
我想知道这里的最佳做法是什么。
答案 0 :(得分:0)
我不会使用单词序列化 使用java8只需循环遍历Cats的项目流列表,然后将它们转换为字符串列表 让字符串将它们转储到文件
答案 1 :(得分:0)
1.您可以编写CSV Utils来执行此操作。 2.使用图书馆CSV Library这样
public void readeCsv(){ //read CSV
try {
ArrayList<String[]> csvList = new ArrayList<String[]>(); //sava data
String csvFilePath ="c:/test.csv";
CsvReader reader = new CsvReader(csvFilePath,',',Charset.forName("SJIS"));
reader.readHeaders();
while(reader.readRecord()){ //read by line
csvList.add(reader.getValues());
}
reader.close();
for(int row=0;row<csvList.size();row++){
String cell = csvList.get(row)[0];
System.out.println(cell);
}
}catch(Exception ex){
System.out.println(ex);
}
}
/**
* write CSV
*/
public void writeCsv(){
try {
String csvFilePath ="c:/test.csv";
CsvWriter wr =new CsvWriter(csvFilePath,',',Charset.forName("SJIS"));
String[] contents = {"aaaaa","bbbbb","cccccc","ddddddddd"};
wr.writeRecord(contents);
wr.close();
} catch (IOException e) {
e.printStackTrace();
}
}