package com.dgrid.util.io;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintStream;
import java.nio.channels.FileChannel;
public class OutputStreamUtils {
public static final int DEFAULT_BUFFER_SIZE = 1024;
public static void writeStringToFile(String content, File dest)
throws IOException {
FileOutputStream fos = new FileOutputStream(dest);
PrintStream ps = new PrintStream(fos);
ps.print(content);
ps.close();
fos.close();
}
public static void writeStreamToStream(InputStream in, OutputStream out)
throws IOException {
writeStreamToStream(in, out, DEFAULT_BUFFER_SIZE);
}
public static void writeStreamToStream(InputStream in, OutputStream out,
int bufferSize) throws IOException {
int read = 0;
byte[] buffer = new byte[bufferSize];
while ((read = in.read(buffer)) > 0) {
out.write(buffer, 0, read);
}
out.flush();
}
public static void writeStreamToFile(InputStream in, File dest)
throws IOException {
FileOutputStream fos = new FileOutputStream(dest);
writeStreamToStream(in, fos);
fos.close();
}
public static void copyFile(File source, File dest) throws IOException {
FileChannel ic = new FileInputStream(source).getChannel();
FileChannel oc = new FileOutputStream(dest).getChannel();
ic.transferTo(0, ic.size(), oc);
ic.close();
oc.close();
}
}