package net.sf.lab3f.util; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.nio.channels.ReadableByteChannel; import java.nio.channels.WritableByteChannel; /** * Интерфейс и реализующий его класс предназначены для решения самых * разнообразных часто встречающихся задач: копирование потока в поток, * канала в канал, преобразование байтового массива в кодировку B64 и * обратно, преобразование байт в шестнадцатиричные строки, вычисление * суммы по алгоритму MD5. */ public interface TuttiFruttiable{ String stream2string(InputStream is) throws IOException; void stream2stream(InputStream src, OutputStream dest) throws IOException; void ch2ch(ReadableByteChannel src, WritableByteChannel dest) throws IOException; byte[] decodeB64(String s); String encodeB64(byte[] ba); String toHexString(byte[] ba); String getMd5String(String s); byte[] getMd5Bytes(byte[] ba); String join(String[] sa, String j); }