Android学习笔记-InputStream与String,Byte之间的相互转换
2017-12-15 09:00
513 查看
/** * Created by yt on 2017/12/15. * InputStream工具类 */ 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; //new String(outStream.toByteArray()); return new String(outStream.toByteArray(),"UTF-8"); } public static String readStreamToString(InputStream inputStream) throws IOException { //创建字节数组输出流 ,用来输出读取到的内容 ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); //创建读取缓存,大小为1024 byte[] buffer = new byte[1024]; //每次读取长度 int len = 0; //开始读取输入流中的文件 while( (len = inputStream.read(buffer) ) != -1){ //当等于-1说明没有数据可以读取了 byteArrayOutputStream.write(buffer,0,len); // 把读取的内容写入到输出流中 } //把读取到的字节数组转换为字符串 String result = new String(byteArrayOutputStream.toByteArray()); //关闭输入流和输出流 inputStream.close(); byteArrayOutputStream.close(); //返回字符串结果 return result; } /** * 将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(),"UTF-8"); } /** * 将String转换成InputStream * @param in * @return * @throws Exception */ public static InputStream StringTOInputStream(String in) throws Exception{ ByteArrayInputStream is = new ByteArrayInputStream(in.getBytes("UTF-8")); 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[]和InputStream之间的相互转换
- java中byte,String,InputStream之间的转换 .
- C# 字符串string和内存流MemoryStream及比特数组byte[]之间相互转换
- Java String 和 byte[] 之间的相互转换
- 如何将一个string类型转成byte[]之间相互转换
- String, InputStream, byte之间转换
- java中byte,String,InputStream之间的转换
- byte数组和String之间的相互转换代码
- 【Android】Bitmap、InputStream、Drawable、byte[]、Base64之间的相互转换
- java.sql.Blob、byte[]、InputStream之间的相互转换
- InputStream与String/byte[]相互转换
- String和byte[]之间的相互转换
- java中byte,String,InputStream之间的转换
- java中byte,String,InputStream之间的转换
- C# 字符串string和内存流MemoryStream及比特数组byte[]之间相互转换
- 15、关于String,File,InputStream之间的相互转换
- java.sql.Blob、byte[]、InputStream之间的相互转换
- android中String与InputStream之间的相互转换方式
- java中byte,String,InputStream之间的转换
- BitMap,inputStream,byte[],Drawable之间的相互转换