Java IO层次体系结构[通俗易懂]

Java IO层次体系结构[通俗易懂]在整个Java.io包中最重要的就是5个类和一个接口。5个类指的是File、OutputStream、InputStream、Writer、Reader;一个接口指的是Serializable.掌握了这些IO的核心操作那么对于Java中的IO体系也就有了一个初步的认识了   JavaI/O主要包括如下几个层次,包含三个部分:   1.流式部分――IO的主体部分;  2.非流式…

大家好,又见面了,我是你们的朋友全栈君。

在整个Java.io包中最重要的就是5个类和一个接口。5个类指的是File、OutputStream、InputStream、Writer、Reader;一个接口指的是Serializable.掌握了这些IO的核心操作那么对于Java中的IO体系也就有了一个初步的认识了

      Java I/O主要包括如下几个层次,包含三个部分:

   1.流式部分――IO的主体部分;

   2.非流式部分――主要包含一些辅助流式部分的类,如:File类、RandomAccessFile类和FileDescriptor等类;

   3.其他类–文件读取部分的与安全相关的类,如:SerializablePermission类,以及与本地操作系统相关的文件系统的类,如:FileSystem类和Win32FileSystem类和WinNTFileSystem类。

   主要的类如下:

     1. File(文件特征与管理):用于文件或者目录的描述信息,例如生成新目录,修改文件名,删除文件,判断文件所在路径等。

     2. InputStream(二进制格式操作):抽象类,基于字节的输入操作,是所有输入流的父类。定义了所有输入流都具有的共同特征。

     3. OutputStream(二进制格式操作):抽象类。基于字节的输出操作。是所有输出流的父类。定义了所有输出流都具有的共同特征。

     Java中字符是采用Unicode标准,一个字符是16位,即一个字符使用两个字节来表示。为此,JAVA中引入了处理字符的流。

     4. Reader(文件格式操作):抽象类,基于字符的输入操作。

     5. Writer(文件格式操作):抽象类,基于字符的输出操作。

     6. RandomAccessFile(随机文件操作):它的功能丰富,可以从文件的任意位置进行存取(输入输出)操作

 

     Java中IO流的大概体系结构如图:

Java IO层次体系结构[通俗易懂]

 

java输入/输出流体系中常用的流的分类表

分类 字节输入流 字节输出流 字符输入流 字符输出流
抽象基类 InputStream OutputStream Reader Writer
访问文件 FileInputStream FileOutputStream FileReader FileWriter
访问数组 ByteArrayInputStream ByteArrayOutputStream CharArrayReader CharArrayWriter
访问管道 PipedInputStream PipedOutputStream PipedReader PipedWriter
访问字符串     StringReader StringWriter
缓冲流 BufferedInputStream BufferedOutputStream BufferedReader BufferedWriter
转换流     InputStreamReader OutputStreamWriter
对象流 ObjectInputStream ObjectOutputStream    
抽象基类 FilterInputStream FilterOutputStream FilterReader FilterWriter
打印流   PrintStream   PrintWriter
推回输入流 PushbackInputStream   PushbackReader  
特殊流 DataInputStream DataOutputStream    

注:表中粗体字所标出的类代表节点流,必须直接与指定的物理节点关联:斜体字标出的类代表抽象基类,无法直接创建实例。

字节流结构图:

Java IO层次体系结构[通俗易懂]

字符流结构图: 

Java IO层次体系结构[通俗易懂]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135431.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • typescript的泛型_c泛型

    typescript的泛型_c泛型泛型指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定具体类型的一种特性。引入下面创建一个函数,实现功能:根据指定的数量count和数据value,创建一个包

    2022年7月29日
    7
  • DECLARE在SQL中的用法及相关等等

    DECLARE在SQL中的用法及相关等等:arrow:允许用户创建游标,用于在一个大的查询里面检索少数几行数据。变量是在批处理或过程的主体中用DECLARE语句声明的,并用SET或SELECT语句赋值。游标变量可使用此语句声明,并可用于其他与游标相关的语句。除非在声明中提供值,否则声明之后所有变量将初始化为NULL。Transact-SQL语法约定语法DECLARE{…

    2022年8月20日
    10
  • 电信光猫改桥接模式教程_千兆光猫有必要改桥接模式吗

    电信光猫改桥接模式教程_千兆光猫有必要改桥接模式吗如果只是改桥接可以试试下面这两个地址:http://192.168.1.1/bridge_route.gchhttp://192.168.1.1:8080/bridge_route.gch转载于:https://www.cnblogs.com/Devopser/p/11257535.html…

    2022年10月8日
    2
  • rtsp html播放_浏览器视频播放rtsp

    rtsp html播放_浏览器视频播放rtsp从摄像机获取的RTSP视频流直接在浏览器中播放,这里采用vlc插件进行播放,设置步骤如下1、下载32位的vlc播放器,安装时选择安装插件,安装路径不要有空格,注意64位播放器安装上也不能正常播放(我测试不能正常播放)2、注册VLC插件(否则视频无法正常显示):使用cmd运行:regsvr32D:\VideoLAN32\VLC\axvlc.dll其中D:\VideoLAN32\VLC为VLC安…

    2022年10月9日
    0
  • 软件测试基础知识——全[通俗易懂]

    软件测试基础知识——全[通俗易懂]目录1、请你分别介绍一下单元测试、集成测试、系统测试、验收测试、回归测试。2、请你回答一下单元测试、集成测试、系统测试、验收测试、回归测试这几步中最重要的是哪一步?3、请回答集成测试和系统测试的区别,以及它们的应用场景主要是什么?4请问测试开发需要哪些知识?需要具备什么能力?5、请说一说黑盒与白盒的测试方法。6、请说一下手动测试与自动化测试的优缺点。7、请问你怎么看待软件测试的潜力和挑战。8、你觉得软件测试的核心竞争力是什么?9、你觉得测试和开发需要怎么结合才能使软件的质量得到更好的保障?10、你觉得

    2022年6月18日
    30
  • sdfsfd

    sdfsfd

    2021年11月14日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号