`

Android InputStream与String,Byte之间互转

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

/**
 * 
 * @author Andy.Chen
 * @mail Chenjunjun.ZJ@gmail.com
 *
 */
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);
    }

}

 

分享到:
评论

相关推荐

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

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

    byte与各类型之间的转化

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

    Android手机客户端与服务器之间通信socket

    在Android应用开发中,手机客户端与服务器之间的通信是至关重要的,而Socket通信提供了一种可靠的、基于连接的数据传输方式。本文将深入探讨Android客户端如何利用Socket进行与服务器的交互。 一、Socket基础知识 ...

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

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

    Android端与服务端TCP通讯

    在Android应用开发中,有时需要实现客户端(Android端)与服务器端之间的实时通信,这时TCP/IP协议和Socket编程就显得尤为重要。本篇文章将详细介绍如何在Android端与服务端通过TCP进行通讯。 首先,TCP...

    Android读取本地json文件的方法(解决显示乱码问题)

    byte[] buffer = new byte[inputStream.available()]; inputStream.read(buffer); resultString = new String(buffer, "UTF-8"); } catch (Exception e) { // TODO: handle exception } return resultString;...

    Android/Java基于Socket接收结构体数据

    在Android和Java开发中,有时候我们需要处理C/C++风格的结构体数据,特别是在与底层通信或者跨平台项目中。在这种情况下,Javolution库提供了一个强大的解决方案,它允许我们在Java中方便地操作结构体数据。本文将...

    Android处理图像数据转换的各种方法

    在Android开发中,处理图像数据转换是不可或缺的一部分。无论是在加载、显示还是编辑图像时,都需要将各种数据格式转换成Bitmap对象,以便于系统能够处理和显示。以下是一些常用的Android图像数据转换方法: 1. RGB...

    Android手机与pc的socket通信

    在IT领域,尤其是在移动开发中,Android手机与个人计算机(PC)之间的通信是常见的需求。本文将详细探讨如何实现Android设备与PC之间的Socket通信。Socket,又称为套接字,是网络编程的基本组件,它提供了进程间通信...

    Android Socket源码实现与PC通讯

    在Android平台上进行应用程序开发时,有时需要实现设备之间的通信,比如Android手机与个人电脑(PC)之间的数据交换。在这种场景下,Socket编程是一种常见的解决方案。本文将深入探讨Android Socket源码实现与PC通讯...

    Android串口通信(Android Studio)

    在Android平台上进行串口通信是实现设备间交互或者与硬件设备连接的重要技术。本文将深入探讨如何在Android Studio环境下开发串口通信应用,包括基本概念、API使用、库的选择以及实际应用示例。 首先,我们需要了解...

    Android串口工具

    在Android平台上,开发人员有时需要与硬件设备进行通信,例如嵌入式系统、传感器或Arduino等,这时就需要用到串口通信(Serial Communication)技术。Android串口工具就是为了解决这种需求而设计的,它使得Android...

    android socket通信实例程序

    在Android平台上进行网络通信时,Socket通信是...在学习和使用这个实例时,可以深入理解TCP连接的建立、数据的封装与解封装,以及Android网络编程的细节。通过实践,你可以更好地掌握这些知识点,并运用到实际项目中。

    android 下载图片到本地Sdcard

    private static boolean saveInputStreamToFile(InputStream inputStream, String filePath) { try { File file = new File(filePath); OutputStream outputStream = new FileOutputStream(file); byte[] buffer...

    Android 文件读写操作

    在Android系统中,文件读写操作是开发过程中常见的任务,涉及到资源文件、数据区文件以及外部存储(如SD卡)的访问。以下是对这些操作的详细说明: 一、资源文件的读取 1. 从resource的raw中读取文件数据: 资源...

    android 安卓手机与电脑socket通信

    在Android平台上,实现安卓手机与电脑之间的通信是一个常见的需求,特别是在进行远程控制、数据传输或者游戏同步等场景。本教程将深入探讨如何使用Socket通信来连接安卓设备与个人计算机。Socket,也被称作套接字,...

    android使用AES加密和解密文件实例代码

    public String decrypt(InputStream in) throws InvalidKeyException, ShortBufferException, IllegalBlockSizeException, BadPaddingException, NoSuchAlgorithmException, NoSuchPaddingException, IOException {...

    android socket客户端与服务器交互案例

    本案例通过"android socket客户端与服务器交互案例",我们将深入探讨如何创建一个简单的Android Socket客户端和服务器端,并实现它们之间的交互。 首先,让我们了解Socket的基本概念。Socket是网络编程中的一个接口...

    android socket通信客户端服务器源代码

    本文将深入探讨如何使用Android Socket实现客户端与服务器之间的通信,包括基本概念、步骤以及源码解析。 首先,理解Socket的基本概念是至关重要的。Socket,通常被称为套接字,是网络通信的一种接口,它允许两个...

    Android应用源码之Android应用源码安卓与PC的Socket通信项目C#版+Java版_应用.zip

    本项目涉及的是Android应用与PC之间的Socket通信技术,主要涵盖了两个方面:一是Android客户端的实现,二是PC端的C#和Java服务器端的构建。在实际应用中,这种通信方式常用于设备间的数据交换、远程控制或者游戏同步...

Global site tag (gtag.js) - Google Analytics