public static String convertStreamToString(InputStream is) {
2 /*
3 * To convert the InputStream to String we use the BufferedReader.readLine()
4 * method. We iterate until the BufferedReader return null which means
5 * there's no more data to read. Each line will appended to a StringBuilder
6 * and returned as String.
7 */
8 BufferedReader reader = new BufferedReader(new InputStreamReader(is));
9 StringBuilder sb = new StringBuilder();
10
11 String line = null;
12 try {
13 while ((line = reader.readLine()) != null) {
14 sb.append(line + "\n");
15 }
16 } catch (IOException e) {
17 e.printStackTrace();
18 } finally {
19 try {
20 is.close();
21 } catch (IOException e) {
22 e.printStackTrace();
23 }
24 }
25
26 return sb.toString();
27 }
二、推荐一个jar包,用来转换InputStream到String,代码示例如下:
1 // 引入apache的io包
2 import org.apache.commons.io.IOUtils;
3
4 InputStream in = con.getInputStream();
5 String result = IOUtils.toString(in, "UTF-8");
原文地址:http://www.cnblogs.com/enshrineZither/p/3441530.html
分享到:
相关推荐
在Java编程中,有时我们可能需要将一个已经写入数据的`OutputStream`转换为`InputStream`,以便重新读取这些数据。这种情况通常出现在临时存储或处理数据时,例如在网络传输或者存储到内存中的场景。本篇文章将深入...
- 使用`BufferedReader`和`InputStreamReader`:首先,通过`InputStreamReader`将InputStream转换为字符流,然后使用`BufferedReader`逐行读取并拼接成字符串。 ```java InputStream is = ...; ...
- **使用InputStream**: 当从输入流读取字节时,可以先用`InputStream.read()`方法读取字节,然后使用`new String(bytes)`构造函数构建字符串。 在**网络编程**中,这两种类型的转换至关重要,因为网络传输的数据...
将一个String转化为InputStream,主要是将字符串转换成字节数组,然后创建一个ByteArrayInputStream。这种方法简单快捷,但会占用一定的内存空间。示例代码如下: ```java public InputStream string2...
这是因为 InputStream 对象的数据源是一次性的,读取完成后就关闭了输入流。 克隆 InputStream 对象 由于 InputStream 对象不能复制,也没有实现 Cloneable 接口,所以我们需要想出其他方法来克隆它。在本文中,...
本篇文章将深入探讨如何使用多文件输入流类来实现这一功能。 首先,我们要了解Java中的`java.io`包,这个包提供了大量的流类用于文件的读写。其中,`FileInputStream`和`FileOutputStream`是基础的单个文件输入/...
Java的输入输出流分为字节流和字符流两大类,每类又分别有输入流和输出流四种类型,即InputStream、OutputStream、Reader和Writer。下面我们将深入探讨这些概念,并通过一个简单的例子来说明其使用方法。 字节流...
为了能够更高效地处理标准输入流,通常需要将其包装为更高层次的流。例如,可以使用`InputStreamReader`将`System.in`转换为`Reader`类型,然后再进一步包装为`BufferedReader`,以便于逐行读取输入数据。 ```java ...
- **InputStream类层次**:所有输入流的父类都是`InputStream`。 - **OutputStream类层次**:所有输出流的父类都是`OutputStream`。 - **Reader类层次**:所有字符输入流的父类都是`Reader`。 - **Writer类层次**:...
FilterInputStream 类的构造方法为 FilterInputStream(InputStream),在指定的输入流之上,创建一个输入流过滤器。FilterInputStream 的常用的子类如下: 1. BufferedInputStream:缓冲区对数据的访问,以提高效率 ...
在Java编程中,将字符串(String)与图像(Image)相互转换是一项常见的需求,特别是在处理用户输入、数据存储或显示图形信息时。这篇博文将探讨如何在Java中实现这一过程,主要涉及`Image`对象与`String`对象之间的转换...
InputStreamReader可以将字节输入流转换为字符输入流,而OutputStreamWriter可以将字节输出流转换为字符输出流。 例如,使用InputStreamReader可以将字节输入流转换为字符输入流,并使用BufferedReader读取文件的一...
接下来的部分将继续讨论用于封装以字符为导向的输入流的类,如`BufferedReader`等,以及如何使用它们来提高程序的性能和灵活性。这些类通常提供了一些高级功能,比如读取整个行(`readLine`)等,从而简化了文本文件的...
在Java中,可以使用InputStreamReader和BufferedReader将InputStream转换为字符流,然后读取字符串。反之,使用OutputStreamWriter和BufferedWriter将字符串写入OutputStream。工具类可能包含这样的方法,以便在接收...
- `InputStreamReader` 从字节输入流读取字节并转换为字符。 **字符流的过滤器流**: - `FilterReader` 和 `FilterWriter` 提供了对字符输入和输出流的过滤和扩展功能,例如 `BufferedReader` 和 `BufferedWriter` ...
在Java编程中,将网络上的图片读取并转换为Base64字符串是一项常见的任务,尤其在Web开发中,这样的操作可以用于数据传输或者存储。Base64是一种编码方式,能够将二进制数据转化为可打印的ASCII字符,方便在网络上...
- **StringBufferInputStream**:将字符串转换为输入流,按字节读取数据。在处理文本数据时,通常不建议直接使用此流,因为存在编码问题。 - **FileInputStream**:将本地文件作为输入流使用,用于读取文件内容。 ...
- 将InputStream转换为byte数组:可以使用ByteArrayOutputStream来实现。通过调用InputStream的read()方法,将数据读取到ByteArrayOutputStream中,然后调用其toByteArray()方法获取byte数组。 - 将byte数组转换为...
输入流用于从外部设备读取数据,而输出流用于将数据写入到外部设备。另一种分类方式是按照流的数据单位不同,分为字节流和字符流。字节流处理二进制数据,而字符流处理文本数据。最后一种分类方式是按照流的功能不同...
本文档主要涉及Java中的IO流操作,包括输出流(OutputStream)、输入流(InputStream)、对象流(ObjectOutputStream与ObjectInputStream)、字符输出流(Writer)及字符输入流(Reader)等核心概念与使用方法。...