package d10; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; import java.util.Locale; public class ResultMain { //对时间处理 public static String returnMindTime(String a) throws ParseException { SimpleDateFormat format = new SimpleDateFormat("dd/MMM/yyyy:HH:mm:ss z",Locale.ENGLISH); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return df.format(format.parse(a)); } public static void main(String[] args) throws ParseException { // TODO Auto-generated method stub String fileName="/home/hadoop/桌面/a/result.txt"; String words[]; List<Data> datas=new ArrayList<Data>(); Data data=null; File file = new File(fileName); BufferedReader reader = null; // StringBuffer sbf = new StringBuffer(); try { reader = new BufferedReader(new FileReader(file)); String tempStr; while ((tempStr = reader.readLine()) != null) { // sbf.append(tempStr); // System.out.println(tempStr); data =new Data(); words=tempStr.trim().split(","); data.setIp(words[0]); data.setTime(returnMindTime(words[1])); data.setDay(words[2]); data.setType(words[4]); data.setId(words[5]); data.setTraffic(words[3]); datas.add(data); //time 处理 for(int i=0; i<words.length; i++) { // System.out.print(i+":"+words[i]+" "); } } reader.close(); // System.out.println(sbf.toString()); } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException e1) { e1.printStackTrace(); } } } for(int i=0;i<datas.size();i++) { datas.get(i).display(); } } }
数据清洗的几个类
Data用于存储想要的数据格式。ResultMain用于取出数据,对数据改格式。
Text用于测试,IDTypeTraffic用于排序。