import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
public class ReadCsv {
public static List<TaskRule> readCsv(String inpath) {
List<TaskRule> list = new ArrayList<TaskRule>();
try {
File file = new File(inpath);
if (!file.exists()) {
System.out.println("文件不存在!");
} else {
System.out.println("文件存在!");
BufferedReader reader = new BufferedReader(new FileReader(inpath));
String line = null;
while ((line = reader.readLine()) != null) {
String[] row = line.split("\\|", -1);
TaskRule infos = new TaskRule();
infos.setCateory(row[0]);
infos.setDescribe(row[1]);
infos.setName(row[2]);
infos.setRule(row[3]);
infos.setCreattime(row[4]);
infos.setSize(row[5]);
list.add(infos);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
public static List<Object> readCsv2(String inpath, Object obj) {
List<Object> list = new ArrayList<Object>();
try {
File file = new File(inpath);
if (!file.exists()) {
System.out.println("文件不存在!");
} else {
System.out.println("文件存在!");
BufferedReader reader = new BufferedReader(new FileReader(inpath));
String line = null;
while ((line = reader.readLine()) != null) {
isr = new InputStreamReader(new FileInputStream(targetFile), "gbk");
reader = new BufferedReader(isr);
Class clazz = obj.getClass();
Object infos = clazz.newInstance();
Field[] fs = infos.getClass().getDeclaredFields();
for (int i = 0; i < fs.length; i++) {
Field f = fs[i];
f.setAccessible(true);
String type = f.getType().toString();
if (type.endsWith("String")) {
f.set(infos, row[i]);
}
}
list.add(infos);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
}
import java.util.List;
public class test {
public static void main(String[] args) {
String inpath="D:\\task_rule@201908.csv";
taskRule taskrule = new taskRule();
List<Object> list2=ReadCsv.readCsv2(inpath,taskrule);
for (Object rule : list2) {
System.out.println(rule.toString());
}
}
}