package org.sikuli.recorder; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public class Utils { public static void stream2file(InputStream inputStream, File outFile) throws IOException { OutputStream out = new FileOutputStream(outFile); int read = 0; byte[] bytes = new byte[1024]; while ((read = inputStream.read(bytes)) != -1) { out.write(bytes, 0, read); } } public static File createTempDirectory() throws IOException{ final File temp; temp = File.createTempFile("temp", Long.toString(System.nanoTime())); if(!(temp.delete())){ throw new IOException("Could not delete temp file: " + temp.getAbsolutePath()); } if(!(temp.mkdir())){ throw new IOException("Could not create temp directory: " + temp.getAbsolutePath()); } return (temp); } public static void deleteFilesInFolder(File folder){ File[] files = folder.listFiles(); if(files!=null) { //some JVMs return null for empty dirs for(File f: files) { if(f.isDirectory()) { deleteFolder(f); } else { f.delete(); } } } } public static void deleteFolder(File folder) { File[] files = folder.listFiles(); if(files!=null) { //some JVMs return null for empty dirs for(File f: files) { if(f.isDirectory()) { deleteFolder(f); } else { f.delete(); } } } folder.delete(); } public static void copyFolder(File src, File dest) throws IOException{ if(src.isDirectory()){ //if directory not exists, create it if(!dest.exists()){ dest.mkdir(); //System.out.println("Directory copied from " // + src + " to " + dest); } //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); 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(); //System.out.println("File copied from " + src + " to " + dest); } } }