/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package org.anjocaido.groupmanager.utils; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.io.StringWriter; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.GregorianCalendar; import java.util.List; import org.anjocaido.groupmanager.GroupManager; import org.anjocaido.groupmanager.data.Group; /** * * @author gabrielcouto */ public abstract class Tasks { /** * Appends a string to a file * * @param data * @param file */ public static void appendStringToFile(final String data, final String file) throws IOException { final FileWriter outStream = new FileWriter("." + System.getProperty("file.separator") + file, true); final BufferedWriter out = new BufferedWriter(outStream); data.replaceAll("\n", System.getProperty("line.separator")); out.append(new SimpleDateFormat("yyyy-MM-dd HH-mm").format(System.currentTimeMillis())); out.append(System.getProperty("line.separator")); out.append(data); out.append(System.getProperty("line.separator")); out.close(); } public static void copy(final File src, final File dst) throws IOException { final InputStream in = new FileInputStream(src); copy(in, dst); } public static void copy(final InputStream src, final File dst) throws IOException { final InputStream in = src; final OutputStream out = new FileOutputStream(dst); // Transfer bytes from in to out final byte[] buf = new byte[1024]; int len; while ((len = in.read(buf)) > 0) { out.write(buf, 0, len); } out.close(); try { in.close(); } catch (final Exception e) { } } public static String getDateString() { final GregorianCalendar now = new GregorianCalendar(); String date = ""; date += now.get(Calendar.DAY_OF_MONTH); date += "-"; date += now.get(Calendar.HOUR); date += "-"; date += now.get(Calendar.MINUTE); return date; } public static String getGroupListInString(final List list) { if (list == null) { return ""; } String result = ""; for (int i = 0; i < list.size(); i++) { result += list.get(i).getName(); if (i < list.size() - 1) { result += ", "; } } return result; } /** * Gets the exception stack trace as a string. * * @param exception * @return stack trace as a string */ public static String getStackTraceAsString(final Exception exception) { final StringWriter sw = new StringWriter(); final PrintWriter pw = new PrintWriter(sw); exception.printStackTrace(pw); return sw.toString(); } public static String getStringArrayInString(final String[] list) { if (list == null) { return ""; } String result = ""; for (int i = 0; i < list.length; i++) { result += list[i]; if (i < ((list.length) - 1)) { result += ", "; } } return result; } public static String getStringListInString(final List list) { if (list == null) { return ""; } String result = ""; for (int i = 0; i < list.size(); i++) { result += list.get(i); if (i < list.size() - 1) { result += ", "; } } return result; } public static String join(final String[] arr, final String separator) { if (arr.length == 0) return ""; String out = arr[0].toString(); for (int i = 1; i < arr.length; i++) out += separator + arr[i]; return out; } public static void removeOldFiles(final GroupManager gm, final File folder) { if (folder.isDirectory()) { final long oldTime = System.currentTimeMillis() - (((long) gm.getGMConfig().getBackupDuration() * 60 * 60) * 1000); for (final File olds : folder.listFiles()) { if (olds.isFile()) { if (olds.lastModified() < oldTime) { try { olds.delete(); } catch (final Exception e) { } } } } } } }