A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


/**
  * @author anzhi   
  * @date 2018/1/28  
  * @desc
*/
public class StreamUtils {

   final static int BUFFER_SIZE = 4096;
   /**
    * 将InputStream转换成String
    *
    * @param in
*            InputStream
    * @return String
    * @throws Exception
    *
    */
public static String InputStreamTOString(InputStream in) {

      ByteArrayOutputStream outStream = new ByteArrayOutputStream();
      byte[] data = new byte[BUFFER_SIZE];
      String string = null;
      int count = 0;
      try {
         while ((count = in.read(data, 0, BUFFER_SIZE)) != -1)
            outStream.write(data, 0, count);
      } catch (IOException e) {
         e.printStackTrace();
      }

      data = null;
      try {
         string = new String(outStream.toByteArray(), "UTF-8");
      } catch (UnsupportedEncodingException e) {
         e.printStackTrace();
      }
      return string;
   }

   /**
    * 将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) {
         e.printStackTrace();
      }

      data = null;
      try {
         string = new String(outStream.toByteArray(), encoding);
      } catch (UnsupportedEncodingException e) {
         e.printStackTrace();
      }
      return string;
   }

   /**
    * 将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;
   }

   /**
    * 将String转换成InputStream
    *
    * @param in
* @return
* @throws Exception
    */
public static byte[] StringTObyte(String in) {
      byte[] bytes = null;
      try {
         bytes = InputStreamTOByte(StringTOInputStream(in));
      } catch (IOException e) {
      } catch (Exception e) {
         e.printStackTrace();
      }
      return bytes;
   }

   /**
    * 将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) {

      String result = null;
      InputStream is = null;
      try {
         is = byteTOInputStream(in);
         result = InputStreamTOString(is, "UTF-8");
      } catch (Exception e) {
         e.printStackTrace();
      }
      return result;
   }
   /**
    * 将byte数组转换成String
    *
    * @param in
* @return
* @throws Exception
    */
public static String getString(String in) {

      String is = null;
      try {
         is = byteTOString(StringTObyte(in));
      } catch (Exception e) {
         e.printStackTrace();
      }
      return is;
   }

   // InputStream 转换成byte[]
   public byte[] getBytes(InputStream is) throws IOException {

      ByteArrayOutputStream baos = new ByteArrayOutputStream();
      byte[] b = new byte[BUFFER_SIZE];
      int len = 0;

      while ((len = is.read(b, 0, BUFFER_SIZE)) != -1) {
         baos.write(b, 0, len);
      }

      baos.flush();

      byte[] bytes = baos.toByteArray();

      System.out.println(new String(bytes));

      return bytes;
   }
   /**
    * 根据文件路径创建文件输入流处理
    * 以字节为单位(非 unicode )
    * @param path
* @return
*/
public static FileInputStream getFileInputStream(String filepath) {
      FileInputStream fileInputStream = null;
      try {
         fileInputStream = new FileInputStream(filepath);
      } catch (FileNotFoundException e) {
         System.out.print("错误信息:文件不存在");
         e.printStackTrace();
      }
      return fileInputStream;
   }
   /**
    * 根据文件对象创建文件输入流处理
    * 以字节为单位(非 unicode )
    * @param path
* @return
*/
public static FileInputStream getFileInputStream(File file) {
      FileInputStream fileInputStream = null;
      try {
         fileInputStream = new FileInputStream(file);
      } catch (FileNotFoundException e) {
         System.out.print("错误信息:文件不存在");
         e.printStackTrace();
      }
      return fileInputStream;
   }
   /**
     * 根据文件对象创建文件输出流处理
    * 以字节为单位(非 unicode )
    * @param file
* @param append true:文件以追加方式打开,false:则覆盖原文件的内容
    * @return
*/
public static FileOutputStream getFileOutputStream(File file,boolean append) {
      FileOutputStream fileOutputStream = null;
      try {
         fileOutputStream = new FileOutputStream(file,append);
      } catch (FileNotFoundException e) {
         System.out.print("错误信息:文件不存在");
         e.printStackTrace();
      }
      return fileOutputStream;
   }
   /**
    * 根据文件路径创建文件输出流处理
    * 以字节为单位(非 unicode )
    * @param path
* @param append true:文件以追加方式打开,false:则覆盖原文件的内容
    * @return
*/
public static FileOutputStream getFileOutputStream(String filepath,boolean append) {
      FileOutputStream fileOutputStream = null;
      try {
         fileOutputStream = new FileOutputStream(filepath,append);
      } catch (FileNotFoundException e) {
         System.out.print("错误信息:文件不存在");
         e.printStackTrace();
      }
      return fileOutputStream;
   }

}

1 个回复

倒序浏览
我来占层楼啊   
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马