import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class FileParser {
public static void main(String[] args) {
String fileName = "path/to/your/file.txt";
List<Bean> beanList = parseFile(fileName);
System.out.println("Total records: " + beanList.size());
}
public static List<Bean> parseFile(String fileName) {
List<Bean> beanList = new ArrayList<>();
try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) {
String line;
String[] headers = null;
int recordCount = 0;
while ((line = reader.readLine()) != null) {
String[] values = line.split("\\|");
if (headers == null) {
headers = values;
} else {
Bean bean = createBean(headers, values);
beanList.add(bean);
recordCount++;
}
}
System.out.println("Total records: " + recordCount);
} catch (IOException e) {
e.printStackTrace();
}
return beanList;
}
public static Bean createBean(String[] headers, String[] values) {
Bean bean = new Bean();
for (int i = 0; i < headers.length; i++) {
String header = headers[i];
String value = (i < values.length) ? values[i] : "";
switch (header) {
case "header1":
bean.setHeader1(value);
break;
case "header2":
bean.setHeader2(value);
break;
case "header3":
bean.setHeader3(value);
break;
case "header4":
bean.setHeader4(value);
break;
}
}
return bean;
}
}
class Bean {
private String header1;
private String header2;
private String header3;
private String header4;
}