将输入流InputStream转换为String
来源:互联网 发布:网络编程语言 编辑:程序博客网 时间:2024/05/24 06:27
最近项目中用apache的httpclient中get、post、put、delete方法去请求url而这些方法请求之后响应回的数据可能很大就调用getResponseBodyAsString()方法,而响应后的数据要转换成string类型,同里也在网上看到有人需要将InputStream转换为String对象,这里我要跟大家说一下,这样的InputStream需要从文本文件(即纯文本的数据文件)中读取内容,然后将它的内容读出到一个String对象中。我下面直接给出代码,然后讲解下。
如果大家学习过Java IO部分的API,相信大家对上面的代码应该比较容易理解。我大致的讲解下,主要讲解convertStreamToString方法,它是主要的转换方法。我们首先将InputStream转换为BufferedReader对象,该对象用于读取文本。然后我们就一行行的读取文本数据并加入到StringBuilder中(这里也可以用StringBuffer对象)。这里主要主意的地方是while的结束条件是当读取到的字符串为null。然后在最后将StringBuilder对象转换为字符串返回回去。
该代码大家可以自己运行下试试。希望能够帮助大家解决遇到的问题。
来源:Heck's Blog
地址:http://www.hecks.tk/httpclient-getresponsebodyasstream-stream-string/
- package tk.hecks.blog.io;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.util.Properties;
- public class StreamToString {
- public static void main(String[] args) {
- StreamToString sts = new StreamToString();
- /*
- * Get input stream of our data file. This file can be in the root of
- * you application folder or inside a jar file if the program is packed
- * as a jar.
- */
- InputStream is = sts.getClass().getResourceAsStream("/data.txt");
- /*
- * Call the method to convert the stream to string
- */
- System.out.println(sts.convertStreamToString(is));
- }
- public String convertStreamToString(InputStream is) {
- /*
- * To convert the InputStream to String we use the BufferedReader.readLine()
- * method. We iterate until the BufferedReader return null which means
- * there's no more data to read. Each line will appended to a StringBuilder
- * and returned as String.
- */
- BufferedReader reader = new BufferedReader(new InputStreamReader(is));
- StringBuilder sb = new StringBuilder();
- String line = null;
- try {
- while ((line = reader.readLine()) != null) {
- sb.append(line + "\n");
- }
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- try {
- is.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- return sb.toString();
- }
- }
如果大家学习过Java IO部分的API,相信大家对上面的代码应该比较容易理解。我大致的讲解下,主要讲解convertStreamToString方法,它是主要的转换方法。我们首先将InputStream转换为BufferedReader对象,该对象用于读取文本。然后我们就一行行的读取文本数据并加入到StringBuilder中(这里也可以用StringBuffer对象)。这里主要主意的地方是while的结束条件是当读取到的字符串为null。然后在最后将StringBuilder对象转换为字符串返回回去。
该代码大家可以自己运行下试试。希望能够帮助大家解决遇到的问题。
来源:Heck's Blog
地址:http://www.hecks.tk/httpclient-getresponsebodyasstream-stream-string/
0 0
- 将输入流InputStream转换为String
- 将输入流InputStream转换为String
- 将输入流InputStream转换为String
- 将输入流InputStream转换为String
- 将输入流(InputStream)转换为位图(Bitmap)
- 将String转换为InputStream,如何将InputStream转换为String
- Android将InputStream转换为String和byte[]
- 【Stackoverflow好问题】将InputStream转换为String
- 将string转换成inputstream
- 将string转换成inputstream
- 将String转换成InputStream
- 将InputStream(输入流)转成String 的方法
- 将文件转换成String||将InputStream转换成String
- 将InputStream转换为byte数组
- InputStream(输入流)转换成多个InputStream(输入流)
- 将InputStream流装换成String字符串
- 将输出流OutputStream转化为输入流InputStream的方法
- 将输出流OutputStream转化为输入流InputStream的方法
- Activiti5第七弹,自己实现一个ProcessEngineConfiguration同时自定义拦截器
- 自己学驱动9——uboot代码阅读四(start_armboot函数)
- 在windows下编译某linux源码
- get localtime by python
- Linux 初始 RAM 磁盘(initrd)概述
- 将输入流InputStream转换为String
- android中project ----->clean作用
- JUnit 4 与 TestNG 对比(翻译)
- ajax读取txt文件内容(方法2)
- 基于 SquashFS 构建 Linux 可读写文件系统
- 简单Python程序库开发教程
- IOS——进程通讯
- Win7下U盘安装Ubuntu14.04双系统步骤详解
- Android学习 StateMachine与State模式