解析网络数据时,String与InputStream互转的几种方法
来源:互联网 发布:永久免费空间php 编辑:程序博客网 时间:2024/05/16 11:13
httpurlconnection返回的是inputStream,转成字符串才能解析,以下是转字符串的方法:
inputStream和outputStream的区别:
前者提供读取方法,后者提供写入方法
- /**
- * 利用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;
- }
0 0
- 解析网络数据时,String与InputStream互转的几种方法
- String与InputStream互转的几种方法
- String与InputStream互转的几种方法
- java基础—— String与InputStream互转的几种方法
- 转InputStream为String的几种方法
- Java 里把 InputStream 转换成 String 的几种方法
- Java 里把 InputStream 转换成 String 的几种方法
- Java 里把 InputStream 转换成 String 的几种方法
- Java 里把 InputStream 转换成 String 的几种方法
- Java 里把 InputStream 转换成 String 的几种方法
- Java 里把 InputStream 转换成 String 的几种方法
- java-Java 里把 InputStream 转换成 String 的几种方法
- Java 里把 InputStream 转换成 String 的几种方法
- Java 里把 InputStream 转换成 String 的几种方法
- Java 里把 InputStream 转换成 String 的几种方法
- Java 里把 InputStream 转换成 String 的几种方法
- Java 里把 InputStream 转换成 String 的几种方法
- InputStream String与byte数组之间的互转
- react native声明组件的两种方式
- 多元统计分析及R语言建模-第4章 相关分析与回归分析及R使用
- 格式化时间---SimpleDataFormat
- 数据库_MySQL UUID函数的详解
- xss 的一些总结 (丘永华的书)
- 解析网络数据时,String与InputStream互转的几种方法
- Android Studio 配置Android Annotation
- 进程间通信
- 3DTouch Demo 从零构建3D Touch 教学
- ns2学习(一) 调度器Scheduler
- mysql拼合查询
- 模糊辨识和估计的最小二乘法算法
- linux下的网络配置
- eclipse 中spring项目配置hibernate-tools