可以使用Java的CSV库来读取CSV文件并将其转换为List集合。以下是一个示例实体类和方法,以及一个包含main方法的调用示例:
import com.opencsv.CSVReader;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;
public class CSVReaderExample {
public static class Data {
private String source;
private String sourceIp;
private int sourcePort;
private String sourceUser;
private String sourcePassword;
private String sourceDatabase;
private String sourceTable;
private String sink;
private String sinkIp;
private int sinkPort;
private String sinkUser;
private String sinkPassword;
private String sinkDatabase;
private String sinkTable;
// 构造函数、getter和setter方法省略
}
public static List<Data> readCSV(String filePath) {
List<Data> dataList = new ArrayList<>();
try (CSVReader reader = new CSVReader(new FileReader(filePath))) {
String[] header = reader.readNext(); // 读取表头
String[] line;
while ((line = reader.readNext()) != null) {
Data data = new Data();
data.setSource(line[0]);
data.setSourceIp(line[1]);
data.setSourcePort(Integer.parseInt(line[2]));
data.setSourceUser(line[3]);
data.setSourcePassword(line[4]);
data.setSourceDatabase(line[5]);
data.setSourceTable(line[6]);
data.setSink(line[7]);
data.setSinkIp(line[8]);
data.setSinkPort(Integer.parseInt(line[9]));
data.setSinkUser(line[10]);
data.setSinkPassword(line[11]);
data.setSinkDatabase(line[12]);
data.setSinkTable(line[13]);
dataList.add(data);
}
} catch (Exception e) {
e.printStackTrace();
}
return dataList;
}
public static void main(String[] args) {
String filePath = "path/to/your/csv/file.csv";
List<Data> dataList = readCSV(filePath);
// 打印读取的数据
for (Data data : dataList) {
System.out.println(data.toString());
}
}
}
请将"path/to/your/csv/file.csv"替换为你实际的CSV文件路径。上述代码使用了OpenCSV库来读取CSV文件,并将每一行数据转换为Data对象,最后将所有Data对象存储在List集合中。