Java中的流(2)字节流-InputStream和OutputStream
字节流的两个顶层类是抽象类: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 |
抽象类,描述流的输入 |


Java中的流(2)字节流-InputStream和OutputStream的更多相关文章
- Java:IO流之字节流InputStream、OutputStream详解
字节流: (抽象基类)InputStream类(读): (抽象基类)OutputStream类(写): InputStream: 构造方法摘要 InputStream() ...
- 理解Java中字符流与字节流
1. 什么是流 Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列.和水流一样,Java中的流也具有一个"流动的方向",通常可 ...
- 理解Java中字符流与字节流的区别(转)
1. 什么是流 Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列.和水流一样,Java中的流也具有一个“流动的方向”,通常可以从中读入一个字节序 ...
- 理解Java中字符流与字节流的区别
1. 什么是流 Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列.和水流一样,Java中的流也具有一个“流动的方向”,通常可以从中读入一个字节序 ...
- Java中字符流与字节流的区别
字符流处理的单元为2个字节的Unicode字符,分别操作字符.字符数组或字符串,而字节流处理单元为1个字节,操作字节和字节数组.所以字符流是由Java虚拟机将字节转化为2个字节的Unicode字符为单 ...
- Java I/O流-总结(InputStream,OutputStream,Reader,Writer)
Java流总结 一. 流的分类 • 按数据流动方向 – 输入流:只能从中读取字节数据,而不能向其写出数据 – 输出流:只能向其写入字节数据,而不能从中读取数据 • 按照流所处理的数据类型 – 字节流: ...
- java 笔记(4) —— java I/O 流、字节流、字符流
Java中使用流来处理程序的输入和输出操作,流是一个抽象的概念,封装了程序数据于输入输出设备交换的底层细节.JavaIO中又将流分为字节流和字符流,字节流主要用于处理诸如图像,音频视频等二进制格式数据 ...
- Java中IO流的总结
有关Java中IO流总结图 流分类 按方向分 输入流 输出流 按单位分 字节流 字符流 按功能分 节点流 处理流(过滤流) 其他 所有的流继承与这四类流:InputSteam.OutputStream ...
- java中有关流操作的类和接口
一.java操作l流有关的类和接口 1.File 文件类 2.RandomAccessFile 随机存储文件类 3.InputStream 字节输入流 4.OutputStream 字节输出流 5.R ...
随机推荐
- Unity5的关卡切换
本文章由cartzhang编写,转载请注明出处. 全部权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/51055584 作者:car ...
- Eclipse 变量点击高亮显示以及自己定义高亮显示颜色
1.方法一:alt+shift+o 打开/关闭,该功能 2.方法二:windows-> preferences->java->Editor->Mark Occurences ( ...
- 我的Android进阶之旅------>Android编译错误java.util.zip.ZipException: duplicate entry的解决方法
今天在Android Studio中把另外一个项目引入当前项目,编译的时候出现了java.util.zip.ZipException: duplicate entry错误. 错误例如以下所看到的: F ...
- css的白富美
1,CSS(Cascading Style Sheet)是用来装饰HTML的,当浏览器读到这样一个样式的时候,它就会按照这个文档进行格式化(渲染) 2,CSS的组成:选择器和声明,声明又包括属性和属性 ...
- c# 32位机和64位机 读取Excel内容到DataSet
// ----------------------32位机 //注释说明 //ExclePath 为Excel路径 批号 是指Excel文件中某一列必填项 public static DataSet ...
- 超线程技术——超线程技术让(P4)处理器增加5%的裸晶面积,就可以换来15%~30%的效能提升,本质单核模拟双核!和异步编程的思想无异。
超线程是Intel 所研发的一种技术,于2002年发布.超线程的英文是HT技术,全名为Hyper-Threading,中文又名超线程.超线程技术原先只应用于Intel Xeon处理器中,当时称为Sup ...
- lucene DocValues——没有看懂
前言: 在Lucene4.x之后,出现一个重大的特性,就是索引支持DocValues,这对于广大的solr和elasticsearch用户,无疑来说是一个福音,这玩意的出现通过牺牲一定的磁盘空间带来的 ...
- mac终端命令加密压缩文件为zip包
mac终端命令加密压缩文件为zip包,命令如下: zip -e ~/desktop/a.zip b.doc c.txt d.sql 注释:a.zip为加密后的文件 b.doc c.txt d.sql为 ...
- SPOJ:Labyrinth(最大直线)
The northern part of the Pyramid contains a very large and complicated labyrinth. The labyrinth is d ...
- BZOJ_1532_[POI2005]Kos-Dicing_二分+网络流
BZOJ_1532_[POI2005]Kos-Dicing_二分+网络流 Description Dicing 是一个两人玩的游戏,这个游戏在Byteotia非常流行. 甚至人们专门成立了这个游戏的一 ...