数据⽂件的格式:第⼀⾏是字段名称,⽤“|”分隔,第⼆⾏开始是数据,也⽤“|”分隔,如下图所⽰
解析分装到集合的代码如下:
package com.ultra.aliyun.control.main;import java.io.BufferedReader;import java.io.File;
import java.io.FileInputStream;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.HashMap;import java.util.List;public class Test {
public static void main(String[] args) {
String filePath = \"D:\\\\aliyun_dataFile\\\\SURF_WEA_CHN_MUL_HOR_TAB-I-2.txt\"; List System.out.println(\"第i条记录\"+i+\":\"+list.get(i)); } } public static List //定义存储读取到的数据记录的集合 List String encoding=\"UTF-8\"; File file=new File(filePath); //判断⽂件是否存在 if(file.isFile() && file.exists()){ //考虑到编码格式 InputStreamReader read = new InputStreamReader(new FileInputStream(file),encoding); BufferedReader bufferedReader = new BufferedReader(read); String lineTxt = null; //记录读取的数据⽂件的⾏数 int count = 0; //定义字段的数组 String[] fields = null; //定义每条记录取出的字段值数组 String[] fieldValue = null; String[] fieldValue = null; //定义Map集合 HashMap map = new HashMap fields = lineTxt.split(\"\\\\|\"); System.out.println(\"fields:\"+fields); }else { fieldValue = lineTxt.split(\"\\\\|\"); //System.out.println(\"fieldValue:\"+fieldValue); for(int i = 0; i < fields.length; i++) { for (int j = 0; j < fieldValue.length; j++) { if(i == j) { map.put(fields[i], fieldValue[j]); } } } //将读取的每⼀⾏的记录存⼊到list集合中 list.add(map); } count ++; } read.close(); }else{ System.out.println(\"找不到指定的⽂件\"); } } catch (Exception e) { System.out.println(\"读取⽂件内容出错\"); e.printStackTrace(); } return list; }} 因篇幅问题不能全部显示,请点此查看更多更全内容