当前位置:编程学习 > JAVA >>

java中byte,String,InputStream之间的转换

[html]  
<pre class="html" name="code">import java.io.ByteArrayInputStream;  
import java.io.ByteArrayOutputStream;  
import java.io.IOException;  
import java.io.InputStream;  
  
public class InputStreamUtils {  
      
    final static int BUFFER_SIZE = 4096;  
      
    /**  
     * 将InputStream转换成String  
     * @param in InputStream  
     * @return String  
     * @throws Exception  
     *   
     */  
    public static String InputStreamTOString(InputStream in) 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(),"ISO-8859-1");  
    }  
      
    /**  
     * 将InputStream转换成某种字符编码的String  
     * @param in  
     * @param encoding  
     * @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(),"ISO-8859-1");  
    }  
      
    /**  
     * 将String转换成InputStream  
     * @param in  
     * @return  
     * @throws Exception  
     */  
    public static InputStream StringTOInputStream(String in) throws Exception{  
          
        ByteArrayInputStream is = new ByteArrayInputStream(in.getBytes("ISO-8859-1"));  
        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  
     * @return  
     * @throws Exception  
     */  www.zzzyk.com
    public static String byteTOString(byte[] in) throws Exception{  
          
        InputStream is = byteTOInputStream(in);  
        return InputStreamTOString(is);  
    }  
  
}  
</pre><br>  
<pre></pre>  
<br>  
补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,