解析文件

69 阅读1分钟
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);
        
        // Perform any desired operations with the beanList...
        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;
                // Add more cases for additional headers...
            }
        }
        
        return bean;
    }
}

class Bean {
    private String header1;
    private String header2;
    private String header3;
    private String header4;
    
    // Getters and setters for the bean fields...
}