InputStream与String,Byte之间互转

原创 2011年10月20日 23:18:50

              本文将介绍InputStream与String,Byte之间的相互转换。以代码来说明:

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

/**
 * 
 * @author Andy.Chen
 * @mail Chenjunjun.ZJ@gmail.com
 *
 */
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
     */
    public static String byteTOString(byte[] in) throws Exception{
    	
    	InputStream is = byteTOInputStream(in);
    	return InputStreamTOString(is);
    }

}


android中String与InputStream之间的相互转换方式

在android中我们涉及到网络访问以及文件访问时,难免需要写String与InputStream之间的相互转换的相关代码,这里我写了几种方式供参考,主体有两种实现形式: 一:纯手戳代码: 1...
  • you__are_my_sunshine
  • you__are_my_sunshine
  • 2016年08月07日 11:52
  • 3510

Android函数工具(读取InputStream到String字符串)

说明:传入一个InputStream 返回一个String字符串,一般用来读取网络数据public static String readStreamToString(InputStream input...
  • MrYan1211
  • MrYan1211
  • 2016年08月02日 09:59
  • 1089

String与InputStream相互转换

1.String to InputStreamString str = "String与InputStream相互转换";InputStream   in_nocode   =   new   Byt...
  • hanqunfeng
  • hanqunfeng
  • 2009年07月20日 18:48
  • 159811

InputStream 转 String三种方式

第一种方式:Scanner public static String demo1(){ String text = "" ; try { URL url = new URL("http...
  • u011148770
  • u011148770
  • 2016年12月27日 00:15
  • 1121

InputStream向String的转换

简述: 写一个工具类用来转换InputStream为String 包括输入流和文件流 设计及实现: Test 1. 直接从输入流中读入,以该行为空为结束流输入的条件 将input...
  • anialy
  • anialy
  • 2012年12月21日 10:57
  • 6072

String与InputStream相互转换

1.String to InputStream String str = "String与InputStream相互转换"; InputStream in_nocode = new...
  • macwhirr123
  • macwhirr123
  • 2013年07月03日 17:46
  • 5422

android开发中byte[]转换成String

想将byte[]转换成String的话,用byte[].toString()是不行的,貌似是编码的问题。用new String(byte[])就能正确转换了。 就是说: String s=...
  • u010477502
  • u010477502
  • 2016年07月07日 21:05
  • 2835

String与InputStream互转的几种方法

/** * 利用BufferedReader实现Inputstream转换成String * * @param in * @return String ...
  • iplayvs2008
  • iplayvs2008
  • 2013年09月09日 17:11
  • 30049

Java 里把 InputStream 转换成 String 的几种方法

我们在 Java 中经常会碰到如何把 InputStream 转换成 String 的情形,比如从文件或网络得到一个 InputStream,需要转换成字符串输出或赋给别的变量。 未真正关注这个...
  • DViewer
  • DViewer
  • 2015年12月28日 15:53
  • 1811

将输入流InputStream转换为String

最近项目中用apache的httpclient中get、post、put、delete方法去请求url而这些方法请求之后响应回的数据可能很大就调用getResponseBodyAsString()方法...
  • u013471947
  • u013471947
  • 2015年01月23日 09:51
  • 2900
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:InputStream与String,Byte之间互转
举报原因:
原因补充:

(最多只允许输入30个字)