zoukankan      html  css  js  c++  java
  • inputStream 与 String 的互相转换

    一. String 转换为InputStream

    String str = "String 与 inputStream转换";

    InputStream ins1 = new ByteArrayInputStream(str.getBytes());

    InputStream ins2 = new ByteArrayInputStream(str.getBytes("UTF-8"));

    二. InputStream 转为 String

    方法一:利用bufferedReader

       1: public String convertToString(InputStream is){
       2:         BufferedReader bReader = new BufferedReader(new InputStreamReader(is));
       3:         StringBuffer buffer = new StringBuffer();
       4:         String line = null;
       5:         try {
       6:             while((line = bReader.readLine())!=null){
       7:                 buffer.append(line);
       8:             }
       9:         } catch (IOException e) {
      10:             // TODO Auto-generated catch block
      11:             e.printStackTrace();
      12:         }finally{
      13:             try {
      14:                 bReader.close();
      15:             } catch (IOException e) {
      16:                 // TODO Auto-generated catch block
      17:                 e.printStackTrace();
      18:             }
      19:         }
      20:         return buffer.toString();
      21:     }

    方法二:

       1: public String convertToString(InputStream is){
       2:         StringBuffer buffer = new StringBuffer();
       3:         byte[] b = new byte[1024];
       4:         try {
       5:             for(int n; (n = is.read(b))!=-1;)
       6:                 buffer.append(new String(b,0,n));
       7:             return buffer.toString();
       8:         } catch (IOException e) {
       9:             // TODO Auto-generated catch block
      10:             e.printStackTrace();
      11:         }finally{
      12:             try {
      13:                 is.close();
      14:             } catch (IOException e) {
      15:                 // TODO Auto-generated catch block
      16:                 e.printStackTrace();
      17:             }
      18:         }
      19:     }

    方法三:

       1: public String convertToString(InputStream is){
       2:         ByteArrayOutputStream os = new ByteArrayOutputStream();
       3:         int i = -1;
       4:         try {
       5:             while((i = is.read())!=-1){
       6:                 os.write(i);
       7:             }
       8:             return os.toString();
       9:         } catch (IOException e) {
      10:             // TODO Auto-generated catch block
      11:             e.printStackTrace();
      12:             return null;
      13:         }finally{
      14:             try {
      15:                 os.close();
      16:             } catch (IOException e) {
      17:                 // TODO Auto-generated catch block
      18:                 e.printStackTrace();
      19:             }
      20:         }
      21:     }
  • 相关阅读:
    java+selenium 3.x的火狐自动化测试环境
    Jmeter+badboy环境搭建
    Linux环境下搭建Tomcat+mysql+jdk环境
    线程池的配置说明
    关于事务的使用规范
    生产事故 java.lang.OutOfMemoryError: GC overhead limit exceeded
    linux检查网络运行情况命令
    百万数据迁移的线程分组
    XML报文拼接 乱码
    创建数据源、连接数据库
  • 原文地址:https://www.cnblogs.com/bloodhunter/p/4591506.html
Copyright © 2011-2022 走看看