`
zjx2388
  • 浏览: 1328908 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

java中byte,String,InputStream之间的转换

    博客分类:
  • J2SE
 
阅读更多

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类型的转换是编程中不可或缺的部分,尤其在网络编程中,理解这两种类型之间的转换方式及其在网络数据交换中的作用,对于编写高效、可靠的程序至关重要。

    简单说说JAVA的String和byte[]的关系

    在Java编程语言中,`String`对象与`byte[]`数组之间的转换是常见的操作之一。理解这两者之间的关系对于处理文本数据、网络通信及文件读写等任务至关重要。 #### 一、String与byte[]的基本概念 - **String**: 在...

    java 中InputStream,String,File之间的相互转化对比

    总结来说,Java中InputStream、String和File的相互转化是编程中常见的操作,理解并掌握这些转换方法对于提升开发效率和代码质量至关重要。在进行转换时,要结合具体场景,选择合适的方法,同时注意性能优化和资源...

    将输出流OutputStream转化为输入流InputStream的方法

    在Java编程中,有时我们可能需要将一个已经写入数据的`OutputStream`转换为`InputStream`,以便重新读取这些数据。这种情况通常出现在临时存储或处理数据时,例如在网络传输或者存储到内存中的场景。本篇文章将深入...

    文件转换(inputString)

    - 使用`BufferedReader`和`InputStreamReader`:首先,通过`InputStreamReader`将InputStream转换为字符流,然后使用`BufferedReader`逐行读取并拼接成字符串。 ```java InputStream is = ...; ...

    Java 从网络中读取图片 转换成Base64字符串

    在Java编程中,将网络上的图片读取并转换为Base64字符串是一项常见的任务,尤其在Web开发中,这样的操作可以用于数据传输或者存储。Base64是一种编码方式,能够将二进制数据转化为可打印的ASCII字符,方便在网络上...

    android用base64实现文件与string相互转换

    本篇文章将详细介绍如何在Android中使用Base64来实现文件与String之间的相互转换。 一、Base64编码原理 Base64是一种基于64个字符的编码方法,这些字符包括大小写字母、数字以及"+"和"/",还有一个用于填充的字符"=...

    byte与各类型之间的转化

    尤其在处理二进制数据时,byte类型与其他数据类型(如String、boolean、int、InputStream等)之间的转换尤为重要。本文档旨在详细介绍byte与各种常见类型之间的转换方法,帮助开发者更好地理解和掌握这一技能。 ###...

    String Image之间相互转化

    这篇博文将探讨如何在Java中实现这一过程,主要涉及`Image`对象与`String`对象之间的转换方法。 首先,我们要理解这两种类型的基本概念。`String`是Java中的一个类,用于表示不可变的字符序列,通常用来存储文本...

    Java实现inputstream流的复制代码实例

    在 Java 中,InputStream 是一个抽象类,用于读取字节流。它是 Java IO 体系中最基本的输入流接口。InputStream 的主要方法有: * `read()`:读取一个字节 * `read(byte[] b)`:读取多个字节到字节数组中 * `close...

    javajsp中 中文问题详解

    在Java中,字符(`char`)与字节(`byte`)之间的转换是通过编码器(encoder)和解码器(decoder)完成的。Sun公司的标准库中提供了`sun.io.ByteToCharConverter`类,用于实现不同编码间的转换。例如,从GB2312编码...

    JAVA将图片转换为Base64编码

    在本文中,我们将讨论如何使用Java将图片转换为Base64编码。Base64编码是一种常用的数据编码方式,广泛应用于网络传输、数据存储等领域。下面我们将详细介绍如何使用Java实现图片到Base64编码的转换。 为什么需要...

    JAVA_字节流和字符流

    在Java编程语言中,字节流(Byte Stream)和字符流(Character Stream)是处理输入输出数据的两种基本方式。字节流主要用于处理任何类型的二进制数据,如图片、音频、视频等,而字符流则专为处理基于Unicode编码的...

    Java中压缩与解压--中文文件名乱码解决办法

    ### Java中压缩与解压——中文文件名乱码解决办法 #### 一、问题背景及原理分析 在Java中处理文件的压缩与解压时,经常会遇到中文文件名出现乱码的问题。这个问题主要源于Java中默认使用的编码方式与实际文件名...

    Java中文问题详解

    本文将深入探讨Java处理中文时可能遇到的问题及其解决方案,并重点介绍Unicode编码、UTF-8编码以及如何在Java中进行字符串与字节数组之间的转换。 #### Unicode编码 Unicode是一种国际标准的字符集,它为世界上...

    java 写的字符编码转换工具(附带源码)

    Java字符编码转换工具是编程中常见的一种实用程序,主要用于处理不同字符编码间的转换问题。在计算机世界里,字符编码是用来表示文本的各种方式,常见的有ASCII、GBK、UTF-8等。不同的编码方式适用于不同的场景,...

    java 用HttpsURLConnection进行传递中文时错误总结

    在Java编程中,当涉及到网络通信,特别是使用HTTPS协议与远程服务器进行数据交换时,可能会遇到各种问题,尤其是在处理包含中文字符的数据时。本篇文章将深入探讨如何使用`HttpsURLConnection`来正确地发送和接收...

    Java中文问题详解(高手必读)

    `String`与`byte[]`之间的转换 `String`对象本质上是一个`char[]`数组,它可以直接存储Unicode字符。当需要将`String`转换为`byte[]`时,必须明确指定编码格式,否则可能会导致乱码。 ```java byte[] b = {(byte)...

    JAVA 转换字符编码工具

    - `String.getBytes()` 和 `new String(byte[], charsetName)`:将字符串转换为字节数组,或将字节数组转换回字符串,需要指定字符编码。 - `InputStreamReader` 和 `OutputStreamWriter`:它们可以与`InputStream...

    Java流(文件读写操作)

    #### 四、常用的字符流与字节流之间的转换 - **InputStreamReader**:字节流通向字符流的桥梁,可以将字节数据转换成字符数据。 - **OutputStreamWriter**:字符流通向字节流的桥梁,可以将字符数据转换成字节数据...

Global site tag (gtag.js) - Google Analytics