@SuppressWarnings("resource")
	public static void copy(File src, File dest) throws IOException {
		if (!src.exists()) return;
		if (!dest.exists()) dest.mkdir();
		for (File f : src.listFiles()) {
			File target = new File(dest, f.getName());
			if (f.isDirectory()) copy(f, target);
			if (f.isFile()) {
				FileChannel ic = new FileInputStream(f).getChannel();
				FileChannel oc = new FileOutputStream(target).getChannel();
				try {
					ic.transferTo(0, ic.size(), oc);
				} finally {
					ic.close();
					oc.close();
				}
			}
		}
	}