import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
public class InputStreamUtils {
final static int BUFFER_SIZE = 4096;
// 将InputStream转换成String
public static String InputStreamTOString(InputStream in) throws Exception {
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] data = new byte[BUFFER_SIZE];
int count = -1;
while ((count = in.read(data, 0, BUFFER_SIZE)) != -1)
outStream.write(data, 0, count);
data = null;
return new String(outStream.toByteArray(), "ISO-8859-1");
}
// 将InputStream转换成某种字符编码的String
public static String InputStreamTOString(InputStream in, String encoding)
throws Exception {
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] data = new byte[BUFFER_SIZE];
int count = -1;
while ((count = in.read(data, 0, BUFFER_SIZE)) != -1)
outStream.write(data, 0, count);
data = null;
return new String(outStream.toByteArray(), "ISO-8859-1");
}
// 将String转换成InputStream
public static InputStream StringTOInputStream(String in) throws Exception {
ByteArrayInputStream is = new ByteArrayInputStream(in.getBytes("ISO-8859-1"));
return is;
}
// 将InputStream转换成byte数组
public static byte[] InputStreamTOByte(InputStream in) throws IOException {
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] data = new byte[BUFFER_SIZE];
int count = -1;
while ((count = in.read(data, 0, BUFFER_SIZE)) != -1)
outStream.write(data, 0, count);
data = null;
return outStream.toByteArray();
}
// 将byte数组转换成InputStream
public static InputStream byteTOInputStream(byte[] in) throws Exception {
ByteArrayInputStream is = new ByteArrayInputStream(in);
return is;
}
// 将byte数组转换成String
public static String byteTOString(byte[] in) throws Exception {
InputStream is = byteTOInputStream(in);
return InputStreamTOString(is);
}
}
分享到:
相关推荐
在Java编程中,String对象和Byte...总之,Java中的String与Byte类型的转换是编程中不可或缺的部分,尤其在网络编程中,理解这两种类型之间的转换方式及其在网络数据交换中的作用,对于编写高效、可靠的程序至关重要。
在Java编程语言中,`String`对象与`byte[]`数组之间的转换是常见的操作之一。理解这两者之间的关系对于处理文本数据、网络通信及文件读写等任务至关重要。 #### 一、String与byte[]的基本概念 - **String**: 在...
总结来说,Java中InputStream、String和File的相互转化是编程中常见的操作,理解并掌握这些转换方法对于提升开发效率和代码质量至关重要。在进行转换时,要结合具体场景,选择合适的方法,同时注意性能优化和资源...
- 使用`BufferedReader`和`InputStreamReader`:首先,通过`InputStreamReader`将InputStream转换为字符流,然后使用`BufferedReader`逐行读取并拼接成字符串。 ```java InputStream is = ...; ...
在Java编程中,有时我们可能需要将一个已经写入数据的`OutputStream`转换为`InputStream`,以便重新读取这些数据。这种情况通常出现在临时存储或处理数据时,例如在网络传输或者存储到内存中的场景。本篇文章将深入...
本篇文章将详细介绍如何在Android中使用Base64来实现文件与String之间的相互转换。 一、Base64编码原理 Base64是一种基于64个字符的编码方法,这些字符包括大小写字母、数字以及"+"和"/",还有一个用于填充的字符"=...
在Java编程中,将网络上的图片读取并转换为Base64字符串是一项常见的任务,尤其在Web开发中,这样的操作可以用于数据传输或者存储。Base64是一种编码方式,能够将二进制数据转化为可打印的ASCII字符,方便在网络上...
尤其在处理二进制数据时,byte类型与其他数据类型(如String、boolean、int、InputStream等)之间的转换尤为重要。本文档旨在详细介绍byte与各种常见类型之间的转换方法,帮助开发者更好地理解和掌握这一技能。 ###...
这篇博文将探讨如何在Java中实现这一过程,主要涉及`Image`对象与`String`对象之间的转换方法。 首先,我们要理解这两种类型的基本概念。`String`是Java中的一个类,用于表示不可变的字符序列,通常用来存储文本...
在 Java 中,InputStream 是一个抽象类,用于读取字节流。它是 Java IO 体系中最基本的输入流接口。InputStream 的主要方法有: * `read()`:读取一个字节 * `read(byte[] b)`:读取多个字节到字节数组中 * `close...
在Java中,字符(`char`)与字节(`byte`)之间的转换是通过编码器(encoder)和解码器(decoder)完成的。Sun公司的标准库中提供了`sun.io.ByteToCharConverter`类,用于实现不同编码间的转换。例如,从GB2312编码...
在本文中,我们将讨论如何使用Java将图片转换为Base64编码。Base64编码是一种常用的数据编码方式,广泛应用于网络传输、数据存储等领域。下面我们将详细介绍如何使用Java实现图片到Base64编码的转换。 为什么需要...
在Java编程语言中,字节流(Byte Stream)和字符流(Character Stream)是处理输入输出数据的两种基本方式。字节流主要用于处理任何类型的二进制数据,如图片、音频、视频等,而字符流则专为处理基于Unicode编码的...
### Java中压缩与解压——中文文件名乱码解决办法 #### 一、问题背景及原理分析 在Java中处理文件的压缩与解压时,经常会遇到中文文件名出现乱码的问题。这个问题主要源于Java中默认使用的编码方式与实际文件名...
本文将深入探讨Java处理中文时可能遇到的问题及其解决方案,并重点介绍Unicode编码、UTF-8编码以及如何在Java中进行字符串与字节数组之间的转换。 #### Unicode编码 Unicode是一种国际标准的字符集,它为世界上...
Java字符编码转换工具是编程中常见的一种实用程序,主要用于处理不同字符编码间的转换问题。在计算机世界里,字符编码是用来表示文本的各种方式,常见的有ASCII、GBK、UTF-8等。不同的编码方式适用于不同的场景,...
在Java编程中,当涉及到网络通信,特别是使用HTTPS协议与远程服务器进行数据交换时,可能会遇到各种问题,尤其是在处理包含中文字符的数据时。本篇文章将深入探讨如何使用`HttpsURLConnection`来正确地发送和接收...
`String`与`byte[]`之间的转换 `String`对象本质上是一个`char[]`数组,它可以直接存储Unicode字符。当需要将`String`转换为`byte[]`时,必须明确指定编码格式,否则可能会导致乱码。 ```java byte[] b = {(byte)...
- `String.getBytes()` 和 `new String(byte[], charsetName)`:将字符串转换为字节数组,或将字节数组转换回字符串,需要指定字符编码。 - `InputStreamReader` 和 `OutputStreamWriter`:它们可以与`InputStream...
#### 四、常用的字符流与字节流之间的转换 - **InputStreamReader**:字节流通向字符流的桥梁,可以将字节数据转换成字符数据。 - **OutputStreamWriter**:字符流通向字节流的桥梁,可以将字符数据转换成字节数据...