InputStream & String(二)

来源:互联网 发布:淘宝琴行哪个好 编辑:程序博客网 时间:2024/06/07 10:56
import java.io.BufferedReader;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;public class InputStreamUtils {    final static int BUFFER_SIZE = 4096;    /**     * 将InputStream转换成某种字符编码的String     * @param in     * @param encoding utf-8     * @return     * @throws Exception     */    public static String InputStreamTOString(InputStream in, String encoding) throws Exception {        ByteArrayOutputStream outStream = new ByteArrayOutputStream();        byte[] data = new byte[BUFFER_SIZE];        int count = -1;        while ((count = in.read(data, 0, BUFFER_SIZE)) != -1)            outStream.write(data, 0, count);        data = null;        return new String(outStream.toByteArray(), encoding);    }    /**     * 将Stream转化为String     * @param is     * @return     */    public static String convertStreamToString(InputStream is) {              StringBuilder sb = new StringBuilder();              String line = null;              try {            BufferedReader reader = new BufferedReader(new InputStreamReader(is));                          while ((line = reader.readLine()) != null) {                      sb.append(line);                  }            } catch (IOException e) {            e.printStackTrace();              } finally {                  try {                is.close();            } catch (IOException e) {                e.printStackTrace();            }        }        return sb.toString();          }    /**     * 将String转换成InputStream     * @param in     * @param encoding utf-8     * @return     * @throws Exception     */    public static InputStream StringTOInputStream(String in, String encoding) throws Exception {        ByteArrayInputStream is = new ByteArrayInputStream(in.getBytes(encoding));        return is;    }    /**     * 将InputStream转换成byte数组     * @param in     *            InputStream     * @return byte[]     * @throws IOException     */    public static byte[] InputStreamTOByte(InputStream in) throws IOException {        ByteArrayOutputStream outStream = new ByteArrayOutputStream();        byte[] data = new byte[BUFFER_SIZE];        int count = -1;        while ((count = in.read(data, 0, BUFFER_SIZE)) != -1)            outStream.write(data, 0, count);        data = null;        return outStream.toByteArray();    }    /**     * 将byte数组转换成InputStream     * @param in     * @return     * @throws Exception     */    public static InputStream byteTOInputStream(byte[] in) throws Exception {        ByteArrayInputStream is = new ByteArrayInputStream(in);        return is;    }    /**     * 将byte数组转换成String     * @param in     * @param encoding  utf-8     * @return     * @throws Exception     */    public static String byteTOString(byte[] in, String encoding) throws Exception {        InputStream is = byteTOInputStream(in);        return InputStreamTOString(is, encoding);    }}
原创粉丝点击