code: package resa.evaluation.scheduler.plan;
  
  import org.junit.Test;
  import resa.util.Counter;
  
  import java.io.IOException;
  import java.nio.file.Files;
  import java.nio.file.Paths;
  import java.util.Arrays;
  import java.util.stream.LongStream;
  import java.util.stream.Stream;
  
  /**
   * Created by ding on 14-8-13.
   */
  public class DataProcessor {
  
      @Test
      public void process() throws IOException {
          long[] result = new long[11];
          Counter counter = new Counter(0);
          Files.lines(Paths.get("/Users/ding/Desktop/fp-opt-data.txt")).filter(s -> !s.isEmpty()).forEach(line -> {
              long[] stat = Stream.of(line.replace('|', ',').split(",")).mapToLong(Long::parseLong).toArray();
              for (int i = 0; i < stat.length; i++) {
                  result[i] += stat[i];
              }
              counter.incAndGet();
          });
          int cnt = (int) (counter.get() / 2);
          System.out.println("Count is " + cnt);
          System.out.println(Arrays.toString(LongStream.of(result).map(l -> l / cnt).toArray()));
          System.out.println("Total is " + LongStream.of(result).map(l -> l / cnt).sum());
      }
  
      @Test
      public void getAvg() throws IOException {
          double[] result = new double[2];
          Files.lines(Paths.get("/Users/ding/Desktop/fp-opt-move-70.txt")).filter(s -> !s.isEmpty()).forEach(line -> {
              String[] tmp = line.split(",");
              result[0] += Double.valueOf(tmp[0]);
              result[1] += Double.valueOf(tmp[1]);
          });
          result[0] += 0;
          result[1] += 0 * 25000;
          System.out.println("total " + (long) result[0]);
          System.out.println("Avg is " + (result[1] / result[0]));
      }
  
      @Test
      public void calcSum() {
          int sum = Stream.of("213,18,16,20,23,27,27,26,29,39,44".split(",")).mapToInt(Integer::parseInt).sum();
          System.out.println(sum);
      }
  
  }
  