Java IO工具类

jopen 6年前

import java.io.ByteArrayInputStream;  import java.io.ByteArrayOutputStream;  import java.io.IOException;  import java.io.InputStream;  import java.io.OutputStream;  /**     * @author      * @ IO工具类     * */  public class IOUtil {    private IOUtil(){};    /**     * 将流转成字符串     * */    public  static   String  Stream2String(InputStream is)throws  IOException{         ByteArrayOutputStream   baos   =   new   ByteArrayOutputStream();             int   i=-1;             while((i=is.read())!=-1){             baos.write(i);             }            return   new String(baos.toByteArray(),"UTF-8");     };     /**     * 将输入流存储到byte数组中     * @param      */    public static byte[] in2byte(InputStream is) throws IOException{        byte[] bs= new byte[1024];        ByteArrayOutputStream bos = new ByteArrayOutputStream();        int len = -1;        while((len=is.read(bs))!=-1){          bos.write(bs,0,len);        }        bs = bos.toByteArray() ;        return bs ;    }       /**     * byte数组转换成string     * @param      */    public static String toString(byte[] input) throws IOException {              return new String(input);      }      /**       * byte数组转换成string     * @param charset  编码格式     */    public static String toString(byte[] input,String charset) throws IOException {            return new String(input,charset);    }    /**     * 将字符串转换为输入流     * @param charset  编码格式     */    public static InputStream toInputStream(String input) {        byte[] bytes = input.getBytes();        return new ByteArrayInputStream(bytes);    }    /**       * 将byte数组转换为输入流     * @param charset  编码格式     */    public  static  InputStream byte2InputStream(byte[] b){          return  new ByteArrayInputStream(b);    };      /**       * 将字符串转换为输入流       * @param input  需要转换的字符串      * @param encoding  编码格式    */    public static InputStream toInputStream(String input, String encoding) throws IOException {    byte[] bytes = encoding != null ? input.getBytes(encoding) : input.getBytes();  return new ByteArrayInputStream(bytes);      }    public static  void copy(InputStream in, OutputStream out) throws IOException {  byte[] buf = new byte[1024];  while (true) {     int len = in.read(buf);   if (len < 0) break;     out.write(buf, 0, len);      }      }      }