zoukankan      html  css  js  c++  java
  • Java IO流学习总结六:ByteArrayInputStream、ByteArrayOutputStream

    Java IO流学习总结六:ByteArrayInputStream、ByteArrayOutputStream

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/54946762
    本文出自【赵彦军的博客】

    类的继承关系

    InputStream
    |__ ByteArrayInputStream
                                       
                             
    
    OutputStream
    |__ ByteArrayOutputStream
                                      
    

    ByteArrayInputStream 可以将字节数组转化为输入流 。
    ByteArrayOutputStream可以捕获内存缓冲区的数据,转换成字节数组。

    ByteArrayInputStream

    • 构造函数
    public ByteArrayInputStream(byte buf[])
    
    public ByteArrayInputStream(byte buf[], int offset, int length)
    
    
    
    • 一般方法
    void  close() // 关闭该流并释放与之关联的所有资源。
    
    String	getEncoding() //返回此流使用的字符编码的名称。
    
    int	 read()  //读取单个字符。
    
    int	 read(char[] cbuf, int offset, int length) //将字符读入数组中的某一部分。
    
    boolean  ready() //判断此流是否已经准备好用于读取。
    
    

    ByteArrayOutputStream

    • 构造函数
    public ByteArrayOutputStream()
    
    public ByteArrayOutputStream(int size)
    
    
    • 一般方法
    void write(int b)
    
    void write(byte b[], int off, int len)
    
    void writeTo(OutputStream out)
    
    byte toByteArray()[]
    
    void close()
    
    

    练习1

    字节流ByteArrayInputStream的读写过程测试

    package com.app;
    import java.io.ByteArrayInputStream;
    import java.io.IOException;
    
    public class A7 {
    	
    	public static void main(String[] args) {
    		
    		String mes = "hello,world" ;
    		byte[] b = mes.getBytes() ;
    		
    		ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream( b ) ;
    		int result = -1  ;
    
    		while( ( result = byteArrayInputStream.read() ) != -1){
    			System.out.println( (char) result );
    		}
    		
    		try {
    			byteArrayInputStream.close();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}
    
    }
    
    

    效果:
    这里写图片描述

    练习2

    ByteArrayOutputStream读出的字节流用FileOutputStream写入文件

    package com.app;
    import java.io.ByteArrayOutputStream;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    public class A6 {
    
    	public static void main(String[] args) {
    
    		String mes = "你好,world" ;
    		byte[] b = mes.getBytes() ;
    
    		ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream() ;
    		try {
    			byteArrayOutputStream.write( b );
    
    			FileOutputStream fileOutputStream = new FileOutputStream( new File( "F:/123.txt" ) ) ;
    
    			byteArrayOutputStream.writeTo( fileOutputStream ) ;
    
    			fileOutputStream.flush();
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		}catch (IOException e) {
    			e.printStackTrace();
    		}finally{
    			try {
    				byteArrayOutputStream.close();
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    		}
    
    	}
    
    }
    
    

    效果:
    这里写图片描述

    个人微信号:zhaoyanjun125 , 欢迎关注

  • 相关阅读:
    基于select的IO多路复用并发模型
    (p ython +tcp+tcp)文件传输
    udp协议与进程结合(群聊)
    python递归拷贝目录和线程拷贝目录
    利用线程对文件进行分割
    tcp与线程结合
    tcp 文件传输
    mysql数据库 (使用) 测试题
    json写入文件
    ArcEngine——获取要素几何(非游标方式)
  • 原文地址:https://www.cnblogs.com/zhaoyanjun/p/6394443.html
Copyright © 2011-2022 走看看