Java中的流(2)字节流-InputStream和OutputStream
2024-08-22 23:31:56
字节流的两个顶层类是抽象类:InputStream和OutputStream
1. OutputStream
void write(int b) | 往流中写一个字节b |
void write(byte b[]) | 往流中写一个字节数组b |
void write(byte b[],int off,int len) | 把字节数组b中从下标off开始,长度为len的字节写入流中 |
flush() | 刷空输出流,并输出所有被缓存的字节,由于某些流支持缓存功能,该方法将把缓存中所有内容强制输出到流中 |
close() | 流操作完毕后必须关闭 |
2. InputStream
int read() | 读取一个字节,返回值为所读得字节 |
int read(byte b[]) | 读取多个字节,放置到字节数组b中,通常读取的字节数量为b的长度,返回值为实际独取的字节的数量 |
int read(byte b[] ,int off,int len) | 读取len个字节,放置到以下标off开始字节数组b中,返回值为实际读取的字节的数量 |
int available() | 返回值为流中尚未读取的字节的数量 |
long skip(long n) | 读指针跳过n个字节不读,返回值为实际跳过的字节数量 |
void mark(int readlimit) | 纪录当前指针的所在位置.readlimit表示读指针读出的readlimit个字节后 所标记的指针位置才实效 |
void reset() | 把读指针重新指向用mark方法所记录的位置 |
boolean markSupported() | 当前的流是否支持读指针的记录功能 |
close() | 流操作完毕后必须关闭 |
3.下面简单介绍字节流的几个常用子类
抽象类InputStream和OutpurStream定义了实用的方法,其中最主要的是read()和write()。
这两个方法在InputStream和OutputStream中声明为抽象方法,由子流类overwrite实现。
字节流类 |
功能简单介绍 |
DataInputStream |
包含了读取Java标准数据类型的输入流 |
DataOutputStream |
包含了写Java标准数据类型的输出流 |
ByteArrayInputStream |
从字节数组读取的输入流 |
ByteArrayOutputStream |
写入字节数组的输出流 |
FileInputStream |
从文件读入的输入流 |
FileOutputStream |
写入文件的输出流 |
PrintStream |
包含最常见的Print()和Println()的输出流 |
PushbackInputStream |
返回一个字节到输入流,主要用于编译器的实现 |
PipedInputStream |
输出管道 |
PipedOutputStream |
输入管道 |
SequenceInputStream |
将n个输入流联合起来,一个接一个按一定顺序读取 |
RandomAccessFile |
随机访问文件 |
BufferInputStream |
缓冲输入流 |
BufferOutputStream |
缓冲输出流 |
FilterInputStream |
实现了InputStream Interface |
FilterOutputStream |
实现了OutputStream Interface |
InputStream |
抽象类,描述流的输入 |
OutputStream |
抽象类,描述流的输入 |
最新文章
- Activity has leaked window that was originally added -界面退出时未关闭对话框异常 android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running? -
- 转载:T-SQL语句大全
- [目录][Leetcode] Leetcode 题解索引
- 页面每次加载时重新获取css文件
- ngrok首页、文档和下载 - Web服务安全通道 - 开源中国社区
- URAL 1297 Palindrome 后缀数组
- 2)Java学习笔记:匿名内部类
- 让Win10显示系统中隐藏的文件夹
- centos/linux下的安装Tomcat
- 实验吧_天下武功唯快不破&;让我进去(哈希长度拓展攻击)
- 快速制作U盘启动盘和U盘安装盘的方法
- Trap 冷启动与热启动告警
- 欢迎使用 MWeb-Test
- BZOJ.4540.[HNOI2016]序列(莫队/前缀和/线段树 单调栈 RMQ)
- springboot从入门到精通
- Hadoop生态上几个技术的解释:hive、pig、hbase 关系与区别
- A题:Common Substrings(KMP应用)
- Laravel 入门
- GOOGLE定位
- 使用jQuery创建节点、将节点插入到指定的位置