2018-04-25

2018-04-25  本文已影响0人  毛子果

java.io(Input/Output)使用详解



目录

1、流(Stream)
2、流的分类
3、java.io包下的所有类的结构
--3.1、InputStream
----3.1.1、常用的字节输入流
--3.2、OutputStream
----3.2.1、常用的字节输出流
--3.3、Reader
----3.3.1、常用的字符输入流
--3.4、Writer
----3.4.1、常用的字符输出流
--3.5、File
--3.6、RandomAcessFile



Java的核心库java.io提供了全面的IO接口。包括:文件读写、标准设备输出等。Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。


1、流(Stream)

流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在这其中“流”动一样。


2、流的分类

按流向分:

按数据传输单位分:

按功能分:


3、java.io包下的所有类的结构

java-io.png

3.1、InputStream

public abstract class InputStream extends Object implements Closeable

InputStream:所有字节输入流的父类,所有的字节输入流都要继承该类。

3.1.1、常用的字节输入流


3.2、 OutputStream

public abstract class OutputStream extends Object implements Closeable, Flushable

OutputStream:所有字节输出流的父类,所有的字节输出流都要继承该类。

3.2.1、常用的字节输出流


3.3、Reader

public abstract class Reader extends Object implements Readable, Closeable

Reader:所有字符输入流的父类,所有的字符输入流都要继承该类。

3.3.1、常用的字符输入流


3.4、Writer

public abstract class Writer extends Object implements Appendable, Closeable, Flushable

Writer:所有字符输出流的父类,所有的字符输出流都要继承该类

3.4.1、常用的字符输出流


3.5、 File

public class File extends Object implements Serializable, Comparable<File>

用户界面和操作系统使用与系统相关的路径名字符串 来命名文件和目录。

具体使用方法请参考:File类的基本使用详解


3.6、RandomAcessFile

public class RandomAccessFile extends Object implements DataOutput, DataInput, Closeable

此类的实例支持对随机访问文件的读取和写入。随机访问文件的行为类似存储在文件系统中的一个大型 byte 数组。存在指向该隐含数组的光标或索引,称为文件指针;输入操作从文件指针开始读取字节,并随着对字节的读取而前移此文件指针。如果随机访问文件以读取/写入模式创建,则输出操作也可用;输出操作从文件指针开始写入字节,并随着对字节的写入而前移此文件指针。写入隐含数组的当前末尾之后的输出操作导致该数组扩展。该文件指针可以通过 getFilePointer 方法读取,并通过 seek 方法设置。 通常,如果此类中的所有读取例程在读取所需数量的字节之前已到达文件末尾,则抛出 EOFException(是一种 IOException)。如果由于某些原因无法读取任何字节,而不是在读取所需数量的字节之前已到达文件末尾,则抛出 IOException,而不是 EOFException。需要特别指出的是,如果流已被关闭,则可能抛出 IOException。

具体使用方法请参考:RandomAcessFile类基本使用详解

上一篇 下一篇

猜你喜欢

热点阅读