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之间的相互转换。 一、Base64编码原理 Base64是一种基于64个字符的编码方法,这些字符包括大小写字母、数字以及"+"和"/",还有一个用于填充的字符"=...
以上介绍了byte与其他常见类型(如int、char、double、String)之间的转换方法。这些方法在实际开发中非常实用,尤其是在网络通信、文件读写等场景中。正确理解和掌握这些转换方法能够帮助开发者更加高效地进行数据...
在Android应用开发中,手机客户端与服务器之间的通信是至关重要的,而Socket通信提供了一种可靠的、基于连接的数据传输方式。本文将深入探讨Android客户端如何利用Socket进行与服务器的交互。 一、Socket基础知识 ...
inputStream2String, string2InputStream : inputStream 与 string 按编码互转 outputStream2String, string2OutputStream: outputStream 与 string 按编码互转 bitmap2Bytes, bytes2Bitmap : bitmap 与 byteArr 互...
在Android应用开发中,有时需要实现客户端(Android端)与服务器端之间的实时通信,这时TCP/IP协议和Socket编程就显得尤为重要。本篇文章将详细介绍如何在Android端与服务端通过TCP进行通讯。 首先,TCP...
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开发中,有时候我们需要处理C/C++风格的结构体数据,特别是在与底层通信或者跨平台项目中。在这种情况下,Javolution库提供了一个强大的解决方案,它允许我们在Java中方便地操作结构体数据。本文将...
在Android开发中,处理图像数据转换是不可或缺的一部分。无论是在加载、显示还是编辑图像时,都需要将各种数据格式转换成Bitmap对象,以便于系统能够处理和显示。以下是一些常用的Android图像数据转换方法: 1. RGB...
在IT领域,尤其是在移动开发中,Android手机与个人计算机(PC)之间的通信是常见的需求。本文将详细探讨如何实现Android设备与PC之间的Socket通信。Socket,又称为套接字,是网络编程的基本组件,它提供了进程间通信...
在Android平台上进行应用程序开发时,有时需要实现设备之间的通信,比如Android手机与个人电脑(PC)之间的数据交换。在这种场景下,Socket编程是一种常见的解决方案。本文将深入探讨Android Socket源码实现与PC通讯...
在Android平台上进行串口通信是实现设备间交互或者与硬件设备连接的重要技术。本文将深入探讨如何在Android Studio环境下开发串口通信应用,包括基本概念、API使用、库的选择以及实际应用示例。 首先,我们需要了解...
在Android平台上,开发人员有时需要与硬件设备进行通信,例如嵌入式系统、传感器或Arduino等,这时就需要用到串口通信(Serial Communication)技术。Android串口工具就是为了解决这种需求而设计的,它使得Android...
在Android平台上进行网络通信时,Socket通信是...在学习和使用这个实例时,可以深入理解TCP连接的建立、数据的封装与解封装,以及Android网络编程的细节。通过实践,你可以更好地掌握这些知识点,并运用到实际项目中。
private static boolean saveInputStreamToFile(InputStream inputStream, String filePath) { try { File file = new File(filePath); OutputStream outputStream = new FileOutputStream(file); byte[] buffer...
在Android系统中,文件读写操作是开发过程中常见的任务,涉及到资源文件、数据区文件以及外部存储(如SD卡)的访问。以下是对这些操作的详细说明: 一、资源文件的读取 1. 从resource的raw中读取文件数据: 资源...
在Android平台上,实现安卓手机与电脑之间的通信是一个常见的需求,特别是在进行远程控制、数据传输或者游戏同步等场景。本教程将深入探讨如何使用Socket通信来连接安卓设备与个人计算机。Socket,也被称作套接字,...
public String decrypt(InputStream in) throws InvalidKeyException, ShortBufferException, IllegalBlockSizeException, BadPaddingException, NoSuchAlgorithmException, NoSuchPaddingException, IOException {...
本案例通过"android socket客户端与服务器交互案例",我们将深入探讨如何创建一个简单的Android Socket客户端和服务器端,并实现它们之间的交互。 首先,让我们了解Socket的基本概念。Socket是网络编程中的一个接口...
本文将深入探讨如何使用Android Socket实现客户端与服务器之间的通信,包括基本概念、步骤以及源码解析。 首先,理解Socket的基本概念是至关重要的。Socket,通常被称为套接字,是网络通信的一种接口,它允许两个...
本项目涉及的是Android应用与PC之间的Socket通信技术,主要涵盖了两个方面:一是Android客户端的实现,二是PC端的C#和Java服务器端的构建。在实际应用中,这种通信方式常用于设备间的数据交换、远程控制或者游戏同步...