`

InputStream与String,Byte之间互转

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

public class InputStreamConvert {

	private final static int BUFFER_SIZE = 4096;

	/**
	 * 将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(), encoding);
	}

	/**
	 * 将String转换成InputStream
	 * 
	 * @param in
	 * @param encoding
	 * @return
	 * @throws Exception
	 */
	public static InputStream stringToInputStream(String in, String encoding) throws Exception {

		ByteArrayInputStream is = new ByteArrayInputStream(in.getBytes(encoding));
		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,"UTF-8");
	}

} 
分享到:
评论

相关推荐

    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是三个非常基础且重要的类,它们分别代表了数据流、文本字符串和文件对象。在实际开发中,我们经常需要在这三者之间进行转换,以便于处理不同类型的输入输出。以下是关于这...

    byte与各类型之间的转化

    以上介绍了byte与其他常见类型(如int、char、double、String)之间的转换方法。这些方法在实际开发中非常实用,尤其是在网络通信、文件读写等场景中。正确理解和掌握这些转换方法能够帮助开发者更加高效地进行数据...

    文件转换(inputString)

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

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

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

    String Image之间相互转化

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

    字节流工具

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

    Android开发人员不得不收集的代码

    inputStream2String, string2InputStream : inputStream 与 string 按编码互转 outputStream2String, string2OutputStream: outputStream 与 string 按编码互转 bitmap2Bytes, bytes2Bitmap : bitmap 与 byteArr 互...

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

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

    通过jsoup,输入流InputStream爬取图片PaQuPic.rar,有意者入

    **JSoup库与Java爬虫基础** JSoup是一款强大的Java库,专为处理HTML文档而设计。它提供了方便的API,使得我们能够解析、提取和修改HTML内容,这对于网络爬虫开发尤其有用。在本教程中,我们将探讨如何利用JSoup结合...

    Java实现图片与Base64编码互转

    在Java编程中,将图片与Base64编码进行互转是一种常见的操作,特别是在网页开发、数据传输和存储中。Base64编码是一种用于将二进制数据转化为ASCII字符串的编码方式,使得这些数据可以在文本格式的环境中(如电子...

    webservice接口接收xml,string代码

    ### WebService接口接收XML与String代码解析 #### 一、概述 在现代软件开发中,WebService作为一种基于HTTP协议的应用程序接口(API),广泛应用于不同系统之间的数据交换与服务调用。本篇文章将根据提供的代码示例...

    java io读取文件到String

    public static String loadAFileToStringDE1(File f) throws IOException { long beginTime = System.currentTimeMillis(); InputStream is = null; String ret = null; try { is = new BufferedInputStream( ...

    Java InputStream的多种使用详解

    Java InputStream 的多种使用详解 InputStream 是 Java 中用于读取数据流的抽象类,它是所有输入流的父类。InputStream 的子类有多种,如 FileInputStream、BufferedInputStream、ByteArrayInputStream 等,每种...

    java io InputStream and outputStream

    适合初学者的一些代码,public static void main(String[] args) { File file1 = new File("c:\\aaa.txt");// 定位文件 if (!file1.exists()) { System.out.println("文件不存在...."); } else { try { ...

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

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

    day09【API、String类、StringBuilder类】.pdf

    public String(byte[] byt),通过当前参数中的字节数组来构造新的 String。 StringBuilder 类 StringBuilder 类用于字符串的修改和构建。StringBuilder 类的特点是可变的,意味着字符串的值可以被更改。...

    bytea类型上传下载图片.txt

    String strSQL = ""; int k=0,n=0; Connection dbConn = null; PreparedStatement dbStat = null; //ResultSet dbRs = null; dbConn = JDBCUtil.getConnectionELIB(); //上传...

Global site tag (gtag.js) - Google Analytics