All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.starter.ignite.util.FileUtil Maven / Gradle / Ivy

There is a newer version: 0.9.25
Show newest version
package io.starter.ignite.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

/**
 * utility methods for files
 * 
 * @author John McMahon (@TechnoCharms)
 *
 */
public class FileUtil {

	/**
	 * build file path if it does not exist
	 * 
	 * @param f
	 */
	public static void ensurePathExists(File f) {

		if (f.exists()) {
			if (f.isDirectory())
				f.delete();
			return;
		}

		f.mkdirs();
		f.delete();
	}

	/**
	 * copy the folders easily
	 * 
	 * @param src
	 * @param dest
	 * @throws IOException
	 */
	public static void copyFolder(File src, File dest) throws IOException {

		if (src.isDirectory()) {

			// if directory not exists, create it
			if (!dest.exists()) {
				dest.mkdirs();
			}

			// list all the directory contents
			String files[] = src.list();

			for (String file : files) {
				// construct the src and dest file structure
				File srcFile = new File(src, file);
				File destFile = new File(dest, file);
				// recursive copy
				copyFolder(srcFile, destFile);
			}

		} else {

			// if file, then copy it
			// Use bytes stream to support all file types
			InputStream in = new FileInputStream(src);
			if (!dest.exists()) {
				dest.mkdirs();
				if (dest.isDirectory())
					dest.delete();
			}
			OutputStream out = new FileOutputStream(dest);

			byte[] buffer = new byte[1024];

			int length;
			// copy the file content in bytes
			while ((length = in.read(buffer)) > 0) {
				out.write(buffer, 0, length);
			}

			in.close();
			out.close();
			// logger.info("File copied from " + src + " to " + dest);
		}
	}

	/**
	 * easily copy folder from source to location
	 * 
	 * @param src
	 * @param dest
	 * @throws IOException
	 */
	public static void copyFolder(String src, String dest) throws IOException {
		FileUtil.copyFolder(new File(src), new File(dest));
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy