Java IO流学习总结六:ByteArrayInputStream、ByteArrayOutputStream
Java IO流学习总结六:ByteArrayInputStream、ByteArrayOutputStream
[blockquote]
[/blockquote]
类的继承关系
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
, 欢迎关注
相关推荐
半日闲心 2019-08-02
xiaoxiaoCNDS 2019-10-28
程序员官方BLOG 2015-07-10
CODEWORLD 2015-07-10
BitTigerio 2018-05-15
MATLAB 2018-05-13
BitTigerio 2018-04-22
BitTigerio 2018-04-22
稀土 2018-02-11
BitTigerio 2018-02-04
无人机中的城堡 2018-01-28
软件设计 2017-07-23
软件设计 2017-05-15
软件设计 2017-05-05
手机开发 2017-02-14
编程爱好者联盟 2017-01-17
手机APP开发 2017-01-17