package org.greengin.sciencetoolkit.logic.datalogging.deprecated; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.FilenameFilter; import java.util.List; import android.database.Cursor; import android.os.Environment; public class DeprecatedCsvManager { public static File exportCSV(DeprecatedDataLogger logger, Cursor cursor, String filename) { String state = Environment.getExternalStorageState(); if (Environment.MEDIA_MOUNTED.equals(state)) { File path = path(); File export = null; if (filename != null) { export = new File(path, filename); } else { for (int i = 0;; i++) { export = new File(path, "science_toolkit_" + i + ".csv"); if (!export.exists()) { break; } } } try { BufferedWriter bw = new BufferedWriter(new FileWriter(export)); if (cursor.getCount() > 0) { cursor.moveToFirst(); while (!cursor.isAfterLast()) { bw.write(cursor.getString(0)); bw.write(" , "); bw.write(logger.sensorName(cursor.getString(1))); bw.write(" , "); bw.write(cursor.getString(2)); String[] parts = cursor.getString(3).split("\\|"); for (int i = 0; i < 3; i++) { bw.write(" , "); bw.write(i < parts.length ? parts[i] : ""); } bw.write("\n"); cursor.moveToNext(); } cursor.close(); } bw.close(); return export; } catch (Exception e) { e.printStackTrace(); } } return null; } public static String[] fileList() { File path = path(); return path.list(new FilenameFilter() { @Override public boolean accept(File dir, String filename) { return isCsvFile(filename); } }); } private static File path() { return Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS); } private static boolean isCsvFile(String filename) { return filename.startsWith("science_toolkit_") && filename.endsWith(".csv"); } public static void deleteFiles(List<String> files) { File path = path(); for (String filename : files) { if (isCsvFile(filename)) { File file = new File(path, filename); file.delete(); } } } public static File getFile(String filename) { if (isCsvFile(filename)) { File file = new File(path(), filename); if (file.exists() && file.isFile()) { return file; } } return null; } }