161 lines
4.7 KiB
Java
161 lines
4.7 KiB
Java
/*
|
|
* 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<Group> 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<String> 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) {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|