X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Futils%2Fstreams%2FReplaceOutputStream.java;h=c6679cc3b3eef4ad15e50e022013663c3b75dade;hb=919bbc354cd2555eb0955be0ef2dcf338047d022;hp=e889b76ef6b756c20ca1e2e9ecec561c45ea9a55;hpb=c8ce09c4dc57142f94afcdc290dd79c4bddf7820;p=fanfix.git diff --git a/src/be/nikiroo/utils/streams/ReplaceOutputStream.java b/src/be/nikiroo/utils/streams/ReplaceOutputStream.java deleted file mode 100644 index e889b76..0000000 --- a/src/be/nikiroo/utils/streams/ReplaceOutputStream.java +++ /dev/null @@ -1,72 +0,0 @@ -package be.nikiroo.utils.streams; - -import java.io.IOException; -import java.io.OutputStream; - -/** - * This {@link OutputStream} will change some of its content by replacing it - * with something else. - * - * @author niki - */ -public class ReplaceOutputStream extends BufferedOutputStream { - private byte[] from; - private byte[] to; - - /** - * Create a {@link ReplaceOutputStream} that will replace from with - * to. - * - * @param out - * the under-laying {@link OutputStream} - * @param from - * the {@link String} to replace - * @param to - * the {@link String} to replace with - */ - public ReplaceOutputStream(OutputStream out, String from, String to) { - this(out, StreamUtils.bytes(from), StreamUtils.bytes(to)); - } - - /** - * Create a {@link ReplaceOutputStream} that will replace from with - * to. - * - * @param out - * the under-laying {@link OutputStream} - * @param from - * the value to replace - * @param to - * the value to replace with - */ - public ReplaceOutputStream(OutputStream out, byte[] from, byte[] to) { - super(out); - bypassFlush = false; - - this.from = from; - this.to = to; - } - - @Override - protected void flush(boolean includingSubStream) throws IOException { - // Note: very simple, not efficient implementation, sorry. - while (start < stop) { - if (from.length > 0 - && StreamUtils.startsWith(from, buffer, start, stop)) { - out.write(to); - bytesWritten += to.length; - start += from.length; - } else { - out.write(buffer[start++]); - bytesWritten++; - } - } - - start = 0; - stop = 0; - - if (includingSubStream) { - out.flush(); - } - } -}