博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字节流
阅读量:6330 次
发布时间:2019-06-22

本文共 2553 字,大约阅读时间需要 8 分钟。

1、

参考网址:“”

 

①字节数组输入流:

1 package com.iotest; 2  3 import java.io.ByteArrayInputStream; 4 import java.io.IOException; 5 public class ByteArryInputStreamDemo { 6     public static void main(String[] args) throws IOException { 7         String str = "abcdefghijk"; 8         byte[] strBuf = str.getBytes();  //字符串转换成字节数组 9         ByteArrayInputStream bais = new ByteArrayInputStream(strBuf);10         int data = bais.read();          //从字节数组输入流读取字节11         while(data!=-1){12             char upper = Character.toUpperCase((char)data);13             System.out.print(upper+" ");14             data = bais.read();15         }16         bais.close();17     }18 }

程序运行结果:A B C D E F G H I J K

 

②字节数组输出流:

1 package com.iotest; 2  3 import java.io.ByteArrayOutputStream; 4 import java.io.IOException; 5  6 public class ByteArrayOutputStreamDemo { 7     public static void main(String[] args) throws IOException { 8         ByteArrayOutputStream baos = new ByteArrayOutputStream(); 9         String s = "welcome to use ByteArrayOutputStreamDemo";10         byte[] buf = s.getBytes();  11         baos.write(buf); //将指定的byte数组写到字节数组输出流中12         System.out.println(baos.toString());  //将字节数组输出流内容转换成字符串输出13         //将字节数组输出流中的内容复制到字节数组中14         byte[] b = baos.toByteArray();15         for (int i = 0; i < b.length; i++) {16             System.out.print((char)b[i]);17         }18         baos.close();19     }20 }

程序运行结果:

welcome to use ByteArrayOutputStreamDemo
welcome to use ByteArrayOutputStreamDemo

 

④管道流的使用:

  一个PipedInputStream对象必须和一个PipedOutputStream对象进行连接从而产生一个通信管道。通常一个线程从管道输出流写入数据,另一个线程从管道输入流中读取数据。当线程A执行管道输入流的read()方法时,如果暂时没有数据,这个线程就会被阻塞,只有当线程B想管道输出流写了数据后,线程A才会恢复运行。

 

⑤缓冲流的使用:

如果不用缓冲流的话,程序是读一个数据,写一个数据。这样在数据量大的程序中非常影响效率。 缓冲流作用是把数据先写入缓冲区,等缓冲区满了,再把数据写到文件里。这样效率就大大提高了。

 

 

2、

参考网址:“”

1)        字节输出流:OutputStream

OutputStream是一个抽象类,要想使用它,必须通过子类来实例化它。

OutputStream类的常用方法

方法名称

描述

public void close() throws IOException

关闭输出流

public void flush() throws IOException

刷新缓冲区

public void write(byte[] b) throws IOException

将一个byte数组写入数据流

public void write(byte[] b,int off,int len) throws IOException

将一个指定范围的byte数组写入数据流

public abstract void write(int b) throws IOException

将一个字节数据写入数据流

 

2)        字节输入流:InputStream

 

InputStream类的常用方法

方法名称

描述

public void avaliable() throws IOException

可以取得输入文件的大小

public void close() throws IOException

关闭输入流

public abstract int read() throws IOException

读取内容,以数字的方式读取

public int read (byte b) throws IOException

将内容读到byte数组,同时返回读入的个数

与OutputStream类一样,InputStream本身也是一个抽象类,要想使用它,也必须依靠其子类。

 

 

C

 

转载于:https://www.cnblogs.com/codeskilla/p/4964444.html

你可能感兴趣的文章
统计出其中英文字母、空格、数字和其它字符的个数
查看>>
python安装win32api pywin32 后出现 ImportError: DLL load failed
查看>>
failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
查看>>
redis
查看>>
北大acm1005
查看>>
Mybatis逆向工程过程中出现targetRuntime in context mybatisGenerator is invalid
查看>>
jquery on()
查看>>
【常用工具】常用工具收集
查看>>
在vue-cli创建的项目里配置scss
查看>>
技能点
查看>>
WireShark(三)
查看>>
驱动04.平台总线驱动模型——点亮LED灯
查看>>
NLog使用方法
查看>>
Windbg学习使用
查看>>
JDK里常见容器总结
查看>>
NodeJS + PhantomJS 前端自动化资源监控
查看>>
mysql 主从复制
查看>>
javascript5
查看>>
CR--同事分享学习
查看>>
.net接口学习笔记
查看>>