String 和 InputStream 互转方式
2016-01-08 11:52
176 查看
/** * 利用BufferedReader实现Inputstream转换成String <功能详细描述> * * @param in * @return String */ public static String Inputstr2Str_Reader(InputStream in, String encode) { String str = ""; try { if (encode == null || encode.equals("")) { // 默认以utf-8形式 encode = "utf-8"; } BufferedReader reader = new BufferedReader(new InputStreamReader(in, encode)); StringBuffer sb = new StringBuffer(); while ((str = reader.readLine()) != null) { sb.append(str).append("\n"); } return sb.toString(); } catch (UnsupportedEncodingException e1) { e1.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return str; } /** * 利用byte数组转换InputStream------->String <功能详细描述> * * @param in * @return * @see [类、类#方法、类#成员] */ public static String Inputstr2Str_byteArr(InputStream in, String encode) { StringBuffer sb = new StringBuffer(); byte[] b = new byte[1024]; int len = 0; try { if (encode == null || encode.equals("")) { // 默认以utf-8形式 encode = "utf-8"; } while ((len = in.read(b)) != -1) { sb.append(new String(b, 0, len, encode)); } return sb.toString(); } catch (IOException e) { e.printStackTrace(); } return ""; } /** * 利用ByteArrayOutputStream:Inputstream------------>String <功能详细描述> * * @param in * @return * @see [类、类#方法、类#成员] */ public static String Inputstr2Str_ByteArrayOutputStream(InputStream in,String encode) { ByteArrayOutputStream out = new ByteArrayOutputStream(); byte[] b = new byte[1024]; int len = 0; try { if (encode == null || encode.equals("")) { // 默认以utf-8形式 encode = "utf-8"; } while ((len = in.read(b)) > 0) { out.write(b, 0, len); } return out.toString(encode); } catch (IOException e) { e.printStackTrace(); } return ""; } /** * 利用ByteArrayInputStream:String------------------>InputStream <功能详细描述> * * @param inStr * @return * @see [类、类#方法、类#成员] */ public static InputStream Str2Inputstr(String inStr) { try { // return new ByteArrayInputStream(inStr.getBytes()); // return new ByteArrayInputStream(inStr.getBytes("UTF-8")); return new StringBufferInputStream(inStr); } catch (Exception e) { e.printStackTrace(); } return null; }
相关文章推荐
- oracle数据库相关
- css字体图标浏览器兼容解决方案
- 尝试《Java Network Programming 4ed》的部分翻译
- jquery实现简单的遮罩层
- Android TableLayout(表格布局)
- 【第六章】 AOP 之 6.9 代理机制 ——跟我学spring3
- C Primer Plus4-2
- C Primer Plus4-3
- 基于fis的前端模块化和工程化方案
- 数据库SQLiteOpenHelper自创
- 屏幕截图
- 分享一个C#读取计算机信息的类
- initWithNibName、initWithCoder、awakeFromNib和 loadNibNamed详解
- Java把Html格式文本转换成纯文本的问题
- HashMap解决hash冲突的方法
- C Primer Plus4-1
- MKMapView 缩放等级 原理详解
- 动画效果汇总(一):页面跳转和添加
- ios开发的建议学习
- 最简单的ssh无密登陆