Java初学者入门——IO包的学习引导

Java初学者入门——IO包的学习引导,第1张

Java初学者入门——IO包的学习引导,第2张

什么是IO

IO(输入/输出)是计算机输出/输出的接口。Java的核心库Java.io提供了全面的io接口,包括文件读写、标准设备输出等等。在Java IO中,I/O是基于流的输入和输出,所有数据都被序列化到输出流中或者从输入流中读入。此外,Java还支持块传输,核心库java.nio采用了块IO我们后面会专门讨论nio。

流式IO的优点是简单易用,缺点是效率低。IO块效率高,但编程复杂。

Java IO模型

Java的IO模型设计非常优秀。它使用Decorator模式按功能划分流,您可以动态地组装这些流以获得您需要的功能。例如,如果您需要一个缓冲的FileInputStream,您应该使用fileinputstream和BufferedInputStream的组合。

Java的IO系统分为输入/输出和读写器。不同的是读写器在读写文本时可以自动转换内码。基本上所有的IO类都是成对的,也就是有XxxInput就有对应的XxxOutput。

Java IO教程

如果你很了解Decorator模式,你很容易看出Java的IO类结构:根接口是InputStream/OutputStream,充当数据源的IO类有file InputStream/file OutputStream,bytearray InputStream/bytearray OutputStream等。用作装饰函数的IO类包括缓冲输入流/缓冲输出流。data inputstream/data output stream等。,都是继承的装饰接口filter inputstream/filter outputstream。使用IO时,先创建一个数据源IO,然后根据需要的功能创建一个装饰类IO。其构造函数的参数是创建的数据源IO。让我们以创建缓冲文件输入流为例。我们假设需要从磁盘中读取文件“C:\ log . txt”:


file InputStream file Input = New file InputStream(" C:\ \ log

//创建一个缓冲的InputStream:

Buffered InputStream Buffered Input = New Buffered InputStream(file Input);

//现在的bufferedInput是缓冲的文件输入流

或者进一步缩写如下:
InputStream Input = New Buffered InputStream(

]ew file Input

//现在的输入是缓冲的文件输入流

在您对Java IO有了大致的了解之后,我们推荐您看一下Java I/O和I的教程介绍

Java NIO编程

NIO提供对块IO的支持。使用块IO的好处是效率更高。而且Java的NIO会直接调用操作系统提供的很多高级IO接口,支持块传输、读写锁定、异步IO等功能。,效率很高。NIO的编程模型是通道和缓冲区,所以推荐你阅读《新I/O入门(中文)》。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » Java初学者入门——IO包的学习引导

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情