X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Futils%2FIOUtils.java;h=3d252eac126df091a7fa8abf55999d95af6f288f;hb=143d16e3caae370e6108aeb77680d11308d10e08;hp=09b0cb9f1cc989815f84f67a6ff1109fdc7097c8;hpb=72c32e8891f0964080f957fb6f4ff332b2ca203f;p=fanfix.git diff --git a/src/be/nikiroo/utils/IOUtils.java b/src/be/nikiroo/utils/IOUtils.java deleted file mode 100644 index 09b0cb9..0000000 --- a/src/be/nikiroo/utils/IOUtils.java +++ /dev/null @@ -1,215 +0,0 @@ -package be.nikiroo.utils; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.zip.ZipEntry; -import java.util.zip.ZipOutputStream; - -/** - * This class offer some utilities based around Streams. - * - * @author niki - */ -public class IOUtils { - /** - * Write the data to the given {@link File}. - * - * @param in - * the data source - * @param target - * the target {@link File} - * - * @throws IOException - * in case of I/O error - */ - public static void write(InputStream in, File target) throws IOException { - OutputStream out = new FileOutputStream(target); - try { - write(in, out); - } finally { - out.close(); - } - } - - /** - * Write the data to the given {@link OutputStream}. - * - * @param in - * the data source - * @param target - * the target {@link OutputStream} - * - * @throws IOException - * in case of I/O error - */ - public static void write(InputStream in, OutputStream out) - throws IOException { - byte buffer[] = new byte[4069]; - for (int len = 0; (len = in.read(buffer)) > 0;) { - out.write(buffer, 0, len); - } - } - - /** - * Recursively Add a {@link File} (which can thus be a directory, too) to a - * {@link ZipOutputStream}. - * - * @param zip - * the stream - * @param base - * the path to prepend to the ZIP info before the actual - * {@link File} path - * @param target - * the source {@link File} (which can be a directory) - * @param targetIsRoot - * FALSE if we need to add a {@link ZipEntry} for base/target, - * TRUE to add it at the root of the ZIP - * - * @throws IOException - * in case of I/O error - */ - public static void zip(ZipOutputStream zip, String base, File target, - boolean targetIsRoot) throws IOException { - if (target.isDirectory()) { - if (!targetIsRoot) { - if (base == null || base.isEmpty()) { - base = target.getName(); - } else { - base += "/" + target.getName(); - } - zip.putNextEntry(new ZipEntry(base + "/")); - } - for (File file : target.listFiles()) { - zip(zip, base, file, false); - } - } else { - if (base == null || base.isEmpty()) { - base = target.getName(); - } else { - base += "/" + target.getName(); - } - zip.putNextEntry(new ZipEntry(base)); - FileInputStream in = new FileInputStream(target); - try { - IOUtils.write(in, zip); - } finally { - in.close(); - } - } - } - - /** - * Zip the given source into dest. - * - * @param src - * the source {@link File} (which can be a directory) - * @param dest - * the destination .zip file - * @param srctIsRoot - * FALSE if we need to add a {@link ZipEntry} for src, TRUE to - * add it at the root of the ZIP - * - * @throws IOException - * in case of I/O error - */ - public static void zip(File src, File dest, boolean srcIsRoot) - throws IOException { - OutputStream out = new FileOutputStream(dest); - try { - ZipOutputStream zip = new ZipOutputStream(out); - try { - IOUtils.zip(zip, "", src, srcIsRoot); - } finally { - zip.close(); - } - } finally { - out.close(); - } - } - - /** - * Write the {@link String} content to {@link File}. - * - * @param dir - * the directory where to write the {@link File} - * @param filename - * the {@link File} name - * @param content - * the content - * - * @throws IOException - * in case of I/O error - */ - public static void writeSmallFile(File dir, String filename, String content) - throws IOException { - if (!dir.exists()) { - dir.mkdirs(); - } - - FileWriter writerVersion = new FileWriter(new File(dir, filename)); - try { - writerVersion.write(content); - } finally { - writerVersion.close(); - } - } - - /** - * Read the whole {@link File} content into a {@link String}. - * - * @param file - * the {@link File} - * - * @return the content - * - * @throws IOException - * in case of I/O error - */ - public static String readSmallFile(File file) throws IOException { - BufferedReader reader = new BufferedReader(new FileReader(file)); - try { - StringBuilder builder = new StringBuilder(); - for (String line = reader.readLine(); line != null; line = reader - .readLine()) { - builder.append(line); - } - return builder.toString(); - } finally { - reader.close(); - } - } - - /** - * Recursively delete the given {@link File}, which may of course also be a - * directory. - *

- * Will silently continue in case of error. - * - * @param target - * the target to delete - */ - public static void deltree(File target) { - for (File file : target.listFiles()) { - if (file.isDirectory()) { - deltree(file); - } else { - if (!file.delete()) { - System.err.println("Cannot delete file: " - + file.getAbsolutePath()); - } - } - } - - if (!target.delete()) { - System.err.println("Cannot delete file: " - + target.getAbsolutePath()); - } - } -}