Popular Posts
SwiXml - Layout BorderLayout BorderLayoutPane.xml <?xml version="1.0" encoding="UTF-8"?> <panel layout="BorderLayout... Generate subversion diff report using python bash: svn --diff-cmd "python" --extensions "diff_to_html.py" diff -r 596:671 diff_to_html.py import sys import diff... LINQPad Office site : LINQPad others : LINQPad 有在用LINQ不可或缺的好工具
Stats
StreamReader
package bruce.lib.io;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;

/**
 * @author Bruce Tsai
 * 
 */
public class StreamReader {

    private InputStream stream;
    public String encoding;

    /**
     * @param stream
     */
    public StreamReader(InputStream stream) {
        this.stream = stream;
    }

    /**
     * @param stream
     * @param encoding
     */
    public StreamReader(InputStream stream, String encoding) {
        this.stream = stream;
        this.encoding = encoding;
    }

    /**
     * @return
     * @throws IOException
     */
    public String readAllText() throws IOException {
        return this.encoding == null || this.encoding.length() == 0 ? new String(readAllBytes()) : new String(readAllBytes(), this.encoding);
    }

    /**
     * @return
     * @throws IOException
     */
    public byte[] readAllBytes() throws IOException {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        byte[] buffer = new byte[128];
        int readed = -1;
        while ((readed = this.stream.read(buffer)) > -1) {
            baos.write(buffer, 0, readed);
        }
        baos.close();
        this.stream.close();
        return baos.toByteArray();
    }
}