InputStream与String,Byte之间互转
2016-03-06 19:03
381 查看
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); } }
相关文章推荐
- 基本排序算法总结(C/C++)
- 2014.3.29阿里巴巴暑期实习笔试题分析
- LeetCode - 43. Multiply Strings
- 下拉页面静止,旋转圆扭刷新效果
- HUST 1599 Multiple
- [网络流24题][CODEVS1904]最小路径覆盖问题(最大流||匈牙利算法)
- struts2学习笔记-------为action的属性注入值
- 较高人工智能的人机博弈程序实现(多个算法结合)含C++源码
- Quartz2D - 画柱状图
- 函数
- BZOJ_P4415 [SHOI2013]发牌(线段树)
- Linux内核分析第二周:操作系统是如何工作的
- 为何要学习Java语言
- 用python实现基本A*算法
- 使用SHELL完成两个数字的大小比较
- 浅谈Android开发中内存泄露与优化
- 人生必get技
- spring 依赖注入四种方式
- mongodb3.2配置文件yaml格式
- hiho[Offer收割]编程练习赛1