一:inputStream转换
1、inputStream转为byte
//方法一 org.apache.commons.io.IOUtils包下的实现(建议) IOUtils.toByteArray(inputStream); //方法二 用java代码实现(其实就是对上面方法一的解析) public static byte[] toByteArray(InputStream input) throws IOException { ByteArrayOutputStream output = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int n = 0; while (-1 != (n = input.read(buffer))) { output.write(buffer, 0, n); } return output.toByteArray(); }
2、inputStream转为file
public static void inputstreamtofile(InputStream ins, File file) throws IOException { OutputStream os = new FileOutputStream(file); int bytesRead; byte[] buffer = new byte[8192]; while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) { os.write(buffer, 0, bytesRead); } os.close(); ins.close(); }
3、inputStream转为String
//方法一 使用org.apache.commons.io.IOUtils包下的方法 IOUtils.toString(inputStream); //方法二 /** * 将InputStream转换成某种字符编码的String * * @param in * @param encoding * @return * @throws Exception */ public static String inputStreamToString(InputStream in, String encoding) { String string = null; ByteArrayOutputStream outStream = new ByteArrayOutputStream(); byte[] data = new byte[BUFFER_SIZE]; int count = -1; try { while ((count = in.read(data, 0, BUFFER_SIZE)) != -1) outStream.write(data, 0, count); } catch (IOException e) { logger.error("io异常", e.fillInStackTrace()); } try { string = new String(outStream.toByteArray(), encoding); } catch (UnsupportedEncodingException e) { logger.error("字符串编码异常", e.fillInStackTrace()); } return string; }
二:byte[]转换
1、byte[]转为inputStream
InputStream sbs = new ByteArrayInputStream(byte[] buf);
2、byte[]转为File
public static void byte2File(byte[] buf, String filePath, String fileName) { BufferedOutputStream bos = null; FileOutputStream fos = null; File file = null; try { File dir = new File(filePath); if (!dir.exists() && dir.isDirectory()) { dir.mkdirs(); } file = new File(filePath + File.separator + fileName); fos = new FileOutputStream(file); bos = new BufferedOutputStream(fos); bos.write(buf); } catch (Exception e) { e.printStackTrace(); } finally { if (bos != null) { try { bos.close(); } catch (IOException e) { e.printStackTrace(); } } if (fos != null) { try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } } }
3、byte[]转String
//先将byte[]转为inputStream,然后在转为String InputStream is = new ByteArrayInputStream(byte[] byt); //然后在根据上文提到的将inputStream转为String的方法去转换
三、File的转换
1、file转inputStream
FileInputStream fileInputStream = new FileInputStream(file);