Java I/O流-ByteArrayInputStream、ByteArrayOutputStream

一、整体代码图

        ByteArrayStreamDemo.java

import java.io.*;
class ByteArrayStreamDemo {
	
	public static void main(String[] args) {
		// TODO: Add your code here
		String tmp="abcdefjklmnopqrst";
		byte [] src=tmp.getBytes();
		ByteArrayInputStream input=new ByteArrayInputStream(src);
		ByteArrayOutputStream output=new ByteArrayOutputStream();//这里不用传递字节数组,ByteArrayOutputStream会自动创建一个32字节的缓冲区用来写入数据"Creates a new byte array output stream."
		transform(input,output);
		byte[] result=output.toByteArray(); //public byte[] toByteArray() "Creates a newly allocated byte array. Its size is the current size of this output stream and the valid contents of the buffer have been copied into it."

		System.out.println(new String(result));
		System.out.println(new String(src));
	}
	
	public static void transform(InputStream in,OutputStream out){
		int ch=0;
		try{
			while((ch=in.read())!=-1){
			int upperCh=/*(int)*/Character.toUpperCase((char)ch); //char表示的范围比int小
			out.write(upperCh);
			}
		}catch(Exception e){
			e.printStackTrace();
		}
	}	
}


二、解释

       

       代码地址:https://github.com/jltxgcy/Demo


你可能感兴趣的:(Java I/O流-ByteArrayInputStream、ByteArrayOutputStream)