`
kingbinchow
  • 浏览: 124778 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

inputStream和String、Byte之间的转换

阅读更多
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;

/**
 * 
 * @author King
 * @Date 2010-7-19
 * 
 */
public class InputStreamUtils {

	final static int BUFFER_SIZE = 4096;

	/**
	 * 将InputStream转换成String
	 * 
	 * @param in
	 *            InputStream
	 * @return String
	 * @throws Exception
	 * 
	 */
	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
	 * 
	 * @param in
	 * @param encoding
	 * @return
	 * @throws Exception
	 */
	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
	 * 
	 * @param in
	 * @return
	 * @throws Exception
	 */
	public static InputStream StringTOInputStream(String in) throws Exception {

		ByteArrayInputStream is = new ByteArrayInputStream(
				in.getBytes("ISO-8859-1"));
		return is;
	}

	/**
	 * 将InputStream转换成byte数组
	 * 
	 * @param in
	 *            InputStream
	 * @return byte[]
	 * @throws IOException
	 */
	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
	 * 
	 * @param in
	 * @return
	 * @throws Exception
	 */
	public static InputStream byteTOInputStream(byte[] in) throws Exception {

		ByteArrayInputStream is = new ByteArrayInputStream(in);
		return is;
	}

	/**
	 * 将byte数组转换成String
	 * 
	 * @param in
	 * @return
	 * @throws Exception
	 */
	public static String byteTOString(byte[] in) throws Exception {

		InputStream is = byteTOInputStream(in);
		return InputStreamTOString(is);
	}

}
分享到:
评论

相关推荐

    Java String与Byte类型转换

    在Java编程中,String对象和Byte类型的转换是常见的操作,特别是在网络编程中,因为网络通信通常涉及字节流的处理。下面将详细讲解Java中如何进行这两种类型之间的转换,并探讨其在网络编程中的应用。 首先,让我们...

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

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

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

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

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

    总结,Android通过内置的Base64工具类可以轻松地完成文件与String之间的转换,这对于数据传输和存储非常有用。只要理解了Base64编码的基本原理和Android提供的API,就可以高效地实现这种转换。在实际项目中,根据...

    文件转换(inputString)

    总之,理解和掌握String与InputStream之间的转换技巧是Java开发人员必备的技能之一,能够帮助我们在处理各种数据输入输出问题时更加游刃有余。对于提供的文件"String与InputStream相互转换 - hanqunfeng的专栏 - ...

    byte与各类型之间的转化

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

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

    在实际开发中,`PipedOutputStream`和`PipedInputStream`也可以用来实现输出流和输入流之间的连接,它们之间可以通过管道进行数据传输,但这种方式相对复杂,适用于更高级的同步和异步操作。 总结,将`OutputStream...

    String Image之间相互转化

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

    字节流工具

    本篇文章将深入探讨字节流工具的使用方法、InputStream与byte数组之间的转换以及如何将流另存为文件。 1. **字节流概述** - 字节流分为输入流和输出流,分别用于数据的读取和写入。Java中的InputStream和...

    gb2312,utf-8,utf-8-bom等编码格式的互相转换

    本文将深入探讨几种常见的编码格式,如GB2312、UTF-8以及UTF-8-BOM,并详细讲解如何在C#中进行这些编码格式之间的转换,同时会涉及到与Stream相关的操作。 GB2312,全称为“国标汉字编码字符集”,是中国大陆广泛...

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

    本文主要介绍了 Java 实现 InputStream 流的复制代码实例,通过示例代码详细地介绍了如何复制 InputStream 对象,并提供了实际的应用场景和解决方案。 InputStream 基础知识 在 Java 中,InputStream 是一个抽象类...

    JAVA 转换字符编码工具

    - `InputStreamReader` 和 `OutputStreamWriter`:它们可以与`InputStream`和`OutputStream`结合使用,用于在字节流和字符流之间进行编码转换。 - `BufferedReader` 和 `BufferedWriter`:提供缓冲功能,提高读写...

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

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

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

    4. **String的getBytes()和new String(byte[], charset)**:字符串类提供了获取字节数组的方法`getBytes()`,可以指定编码方式;反之,`new String(byte[], charset)`可以根据字节数组和编码创建新的字符串。 5. **...

    webservice接口接收xml,string代码

    byte[] postArray = Encoding.ASCII.GetBytes(xmlString); client.Headers.Add("Content-Type", "text/xml"); byte[] responseArray = client.UploadData(url, postArray); ``` 这段代码中,首先定义了一个包含XML...

    JAVA将图片转换为Base64编码

    Base64编码可以将二进制数据转换为文本数据,使得数据传输和存储更加安全和可靠。 使用Apache Commons Codec库 在本文中,我们使用Apache Commons Codec库来实现Base64编码。Apache Commons Codec库是一个功能强大...

    javajsp中 中文问题详解

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

    【IT十八掌徐培成】Java基础第09天-005.String-字符集编码.zip

    此外,`InputStreamReader`和`OutputStreamWriter`类是处理字符流的桥梁,它们允许我们在字节流和字符流之间进行转换,并指定所需的字符编码。例如,`new InputStreamReader(inputStream, "UTF-8")`会创建一个读取器...

    Java实现文件和base64流的相互转换功能示例

    Java实现文件和base64流的相互转换功能示例 Java实现文件和base64流的相互转换功能是 Java 编程中的一项重要技术,涉及到文件读取、Base64 编码和解码等操作。本文将详细介绍 Java 实现文件和 base64 流的相互转换...

    byte-streams:用于jvm字节表示的Rosetta Stone

    根据库的作者和年龄,它可能使用byte[] , InputStream , ByteBuffer或ReadableByteChannel 。 如果字节表示字符串,则还需要担心String , Reader和CharSequence 。 记住如何在它们之间进行转换是一项不费力的...

Global site tag (gtag.js) - Google Analytics