java读取InputStream输入流后输出String字符串
2015-10-22 16:40
483 查看
功能:例子中输出字符编码为GBK,输入流保护 50KB,读取InputStream输入流后输出String字符串。
private static final String DEFAULT_ENCODING = "GBK";//编码 private static final int PROTECTED_LENGTH = 51200;// 输入流保护 50KB public String readInfoStream(InputStream input) throws Exception { if (input == null) { throw new Exception("输入流为null"); } //字节数组 byte[] bcache = new byte[2048]; int readSize = 0;//每次读取的字节长度 int totalSize = 0;//总字节长度 ByteArrayOutputStream infoStream = new ByteArrayOutputStream(); try { //一次性读取2048字节 while ((readSize = input.read(bcache)) > 0) { totalSize += readSize; if (totalSize > PROTECTED_LENGTH) { throw new Exception("输入流超出50K大小限制"); } //将bcache中读取的input数据写入infoStream infoStream.write(bcache,0,readSize); } } catch (IOException e1) { throw new Exception("输入流读取异常"); } finally { try { //输入流关闭 input.close(); } catch (IOException e) { throw new Exception("输入流关闭异常"); } } try { return infoStream.toString(DEFAULT_ENCODING); } catch (UnsupportedEncodingException e) { throw new Exception("输出异常"); } }
相关文章推荐
- spring视图解析总结3
- Spring mvc之提交表单
- MyEclipse和Eclipse中jsp、html格式化自动排版问题
- JAVA设计模式(14) —<行为型>模板方法模式(Template Method)
- struts2 test
- java中checked和unchecked 异常处理的例子
- XMLGregorianCalendar日期类型与Date(java.util.*)日期类型之间相互转换
- 重载、重写(覆盖)、隐藏的区别--Java
- java程序的API文档或者用户手册
- JAVA实现excel(2003版)导出
- springMVC初学实例(注解)
- Java中的OutOfMemoryError的各种情况及解决和JVM内存结构
- Java编程小技巧
- java基础知识复习
- spring同名bean覆盖问题
- Java开发中一些内置对象的总结
- 经典书籍_java学习基础编程篇
- java多线程总结
- Java之——打开浏览器访问指定页面
- java学习经典书籍_移动开发篇