在项目开发过程中,我们经常需要对String、byte数组、InputStream进行一些必要的转换,今天,我们分别的来实现一下这些不同类型的数据的转换
1、byte[]转String
/** * byte[]转String * @param bytes * @return * @throws Exception */ public static String bytesToString(byte[] bytes) throws Exception{ String result = new String(bytes,"UTF-8"); return result; }
/** * String转byte[] * @param str * @return */ public static byte[] StringToBytes(String str){ byte[] bytes = str.getBytes(); return bytes; }
/** * InputStream转String * @param inputStream * @return * @throws Exception */ public static String InputStreamToString(InputStream inputStream) throws Exception{ ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); int bufferSize = 1024; byte[] data = new byte[bufferSize]; int count = -1; while((count = inputStream.read(data,0,bufferSize)) != -1){ outputStream.write(data,0,count); data = null; } return new String(outputStream.toByteArray(),"UTF-8"); }
/** * String转InputStream * @param str * @return * @throws Exception */ public static InputStream StringToInputStream(String str) throws Exception{ ByteArrayInputStream inputStream = new ByteArrayInputStream(str.getBytes("UTF-8")); return inputStream; }
/** * InputStream转Byte[] * @param inputStream * @return * @throws Exception */ public static byte[] InputStreamToBytes(InputStream inputStream) throws Exception{ int bufferSize = 1024; ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); byte[] data = new byte[bufferSize]; int count = -1; while((count = inputStream.read(data,0,bufferSize))!= -1){ outputStream.write(data,0,count); data = null; } return outputStream.toByteArray(); }
/** * byte[]转InputStream * @param bytes * @return * @throws Exception */ public static InputStream BytesToInputStream(byte[] bytes) throws Exception{ ByteArrayInputStream is = new ByteArrayInputStream(bytes); return is; }