package lastkilometer.readCSV; import java.io.BufferedReader; import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.TreeMap; public class ReadResults_cache extends BasicClass{ public static void main(String[] args) throws IOException { new ReadResults_cache().readResultsFile(); } /** * 读取结果文件 * * @throws IOException */ public Map<String, List<List<List<Object>>>> readResultsFile() throws IOException { Map<String, List<List<List<Object>>>> post_res=new TreeMap<>(); // 获取文件名 String[] names = getFileName("results_cache/"); for (String name : names) { // 将结果存入集合中 BufferedReader br = read("results_cache/"+name); String line = null; List<String> list_zhen = new ArrayList<>();//统计小路径的取得的订单数 List<List<Object>> list_two=new ArrayList<>(); while ((line = br.readLine()) != null) { String[] res = line.split(","); String Courier_id=res[0]; String Addr = res[1]; int arrTime = Integer.parseInt(res[2]); int endTime = Integer.parseInt(res[3]); int Amount = Integer.parseInt(res[4]); String Order_id = res[5]; List<Object> list_three = new ArrayList<>(); list_three.add(Addr); list_three.add(arrTime); list_three.add(endTime); list_three.add(Amount); list_three.add(Order_id); list_two.add(list_three); if(Amount>0){ list_zhen.add(Order_id); }else{ list_zhen.remove(list_zhen.indexOf(Order_id)); } if(list_zhen.isEmpty()){//为空,表示一个小路径的结束 // boolean bool=true; // // //判断小路径是否全是电商订单 // boolean bool_F=true; // for(List<Object> list_three_cahce:list_two){ // String Order_id_cache = (String) list_three_cahce.get(4); // if("E".equals(Order_id_cache.substring(0, 1))){ // bool_F=false; // } // } // if(bool_F){ // bool=false; // }else{ // for(List<Object> list_three_cahce:list_two){ // int arrTime_cache = (int) list_three_cahce.get(1); // int endTime_cache = (int) list_three_cahce.get(2); // int Amount_cache = (int) list_three_cahce.get(3); // // if(Amount_cache>0){ // if((endTime_cache-(arrTime_cache+Math.round(Math.sqrt(Amount_cache)*3+5)))>10){ // bool=false; // } //// if((endTime_cache-arrTime_cache)>100){ //// bool=false; //// } // } // } // } // if(bool){ // if(post_res.containsKey(Courier_id)){ // List<List<List<Object>>> list_one = post_res.get(Courier_id); // list_one.add(list_two); // post_res.put(Courier_id, list_one); // }else{ // List<List<List<Object>>> list_one = new ArrayList<>(); // list_one.add(list_two); // post_res.put(Courier_id, list_one); // } // } // //// List<Object> list_three_last=list_two.get(list_two.size()-1); //// int endTime_last=(int) list_three_last.get(2); //// //// if(endTime_last>100&&list_two.size()>4){ //// if(bool){ //// if(post_res.containsKey(Courier_id)){ //// List<List<List<Object>>> list_one = post_res.get(Courier_id); //// list_one.add(list_two); //// post_res.put(Courier_id, list_one); //// }else{ //// List<List<List<Object>>> list_one = new ArrayList<>(); //// list_one.add(list_two); //// post_res.put(Courier_id, list_one); //// } //// } //// } if(post_res.containsKey(Courier_id)){ List<List<List<Object>>> list_one = post_res.get(Courier_id); list_one.add(list_two); post_res.put(Courier_id, list_one); }else{ List<List<List<Object>>> list_one = new ArrayList<>(); list_one.add(list_two); post_res.put(Courier_id, list_one); } // boolean bool=true; // for(List<Object> list_three_cahce:list_two){ // int arrTime_cache = (int) list_three_cahce.get(1); // int endTime_cache = (int) list_three_cahce.get(2); // int Amount_cache = (int) list_three_cahce.get(3); // // if(Amount_cache>0){ // if((endTime_cache-(arrTime_cache+Math.round(Math.sqrt(Amount_cache)*3+5)))>0){ // bool=false; // } //// if((endTime_cache-arrTime_cache)>10){ //// bool=false; //// } // } // } // // // if(bool){ // if(post_res.containsKey(Courier_id)){ // List<List<List<Object>>> list_one = post_res.get(Courier_id); // list_one.add(list_two); // post_res.put(Courier_id, list_one); // }else{ // List<List<List<Object>>> list_one = new ArrayList<>(); // list_one.add(list_two); // post_res.put(Courier_id, list_one); // } // } list_two=new ArrayList<>(); } } } System.out.println("post_res.size():"+post_res.size()); return post_res; } }