package edu.hawaii.jmotif.accelerometer; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; public class TestSeriesDumper { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new FileReader(new File( "/media/DB/accelerometer/test.csv"))); br.readLine(); String line = ""; String oldSequence = ""; ArrayList<APoint> series = new ArrayList<APoint>(); while ((line = br.readLine()) != null) { String[] split = line.split(","); String sequenceId = split[4]; if (oldSequence.length() == 0) { oldSequence = sequenceId; } if (sequenceId.equalsIgnoreCase(oldSequence)) { series.add(new APoint(line)); } else { save(oldSequence, series); oldSequence = sequenceId; series = new ArrayList<APoint>(); series.add(new APoint(line)); } } } private static void save(String deviceId, ArrayList<APoint> arrayList) throws IOException { long start = arrayList.get(0).getTs(); long end = arrayList.get(arrayList.size() - 1).getTs(); String fName = "/media/DB/accelerometer/test_series/" + String.valueOf(deviceId) + "_" + start + "_" + end + ".csv"; BufferedWriter bw = new BufferedWriter(new FileWriter(new File(fName))); int counter = 0; for (APoint p : arrayList) { String line = p.toFileLine(); if (counter > 0) { line = line + "," + distance(p, arrayList.get(counter - 1)); } else { line = line + ",0.0"; } bw.write(line + "\n"); counter++; } bw.close(); } private static double distance(APoint p, APoint aPoint) { return p.distanceTo(aPoint); } }