package com.hx.util; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; 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ת����ij���ַ�����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) { InputStream is = null; try { is = byteTOInputStream(in); } catch (Exception e) { e.printStackTrace(); } return InputStreamTOString(is, "UTF-8"); } /** * ��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 �� * @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 �� * @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 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; } public static File getFile(String filepath) { return new File(filepath); } public static ByteArrayOutputStream getByteArrayOutputStream() { return new ByteArrayOutputStream(); } }