【JAVA学习之路 | 进阶篇】IO流及流的分类

简介: 【JAVA学习之路 | 进阶篇】IO流及流的分类

1.java IO流

(1). java程序中,对于数据的输入输出操作是以流的方式进行的.可以看作是数据的流动.

(2). IO流中的I/O的input/output的缩写.IO技术是非常实用的技术.用于处理设备之间的数据传输,比如读写文件.

  • 以程序作为参考点.
  • input() : 读取外部数据到程序中.
  • output : 将程序输出到磁盘等存储设备中.

2.流的分类

java.io包下提供了各种类和接口.用于获取不同种类的数据.并用过标准的方法输入输出数据.


(1). 按数据的流向分为: 输入流,输出流.

  • 输入流 : 将外部数据读取到程序中.比如以Reader,InputStream结尾的.
  • 输出流 : 将程序输出到存储设备中.比如以Writer,OutStream结尾的.

(2). 按操作数据的单位不同分为字节流与字符流.

  • 字节流 : 以字节为单位,读写数据的流.比如以InputStream, OutStream结尾的.
  • 字符流 : 以字符为单位,读写数据的流.比如以Reader, Writer结尾的.

(3). 按IO流的角色分为节点流与处理流.

  • 节点流 : 直接从数据源或目的地读写数据.
  • 处理流 : 不直接连接到数据源或目的地,而是连接在已存在的节点流/处理流之上,通过对数据的处理为程序提供更强大的读写功能.(相当于外层流包了一层内层流).

3.流的API

java.i流涉及到很多类,实际上很规范,都是由如下抽象基类派生的.

    抽象基类        输入流        输出流
    
    字节流         InputStream    OutputStream
    字符流         Reader        Writer
相关文章
|
12天前
|
XML Java 编译器
Java学习十六—掌握注解:让编程更简单
Java 注解(Annotation)是一种特殊的语法结构,可以在代码中嵌入元数据。它们不直接影响代码的运行,但可以通过工具和框架提供额外的信息,帮助在编译、部署或运行时进行处理。
82 43
Java学习十六—掌握注解:让编程更简单
|
20天前
|
存储 SQL 小程序
JVM知识体系学习五:Java Runtime Data Area and JVM Instruction (java运行时数据区域和java指令(大约200多条,这里就将一些简单的指令和学习))
这篇文章详细介绍了Java虚拟机(JVM)的运行时数据区域和JVM指令集,包括程序计数器、虚拟机栈、本地方法栈、直接内存、方法区和堆,以及栈帧的组成部分和执行流程。
23 2
JVM知识体系学习五:Java Runtime Data Area and JVM Instruction (java运行时数据区域和java指令(大约200多条,这里就将一些简单的指令和学习))
|
5天前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
20天前
|
小程序 Oracle Java
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
这篇文章是关于JVM基础知识的介绍,包括JVM的跨平台和跨语言特性、Class文件格式的详细解析,以及如何使用javap和jclasslib工具来分析Class文件。
32 0
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
|
15天前
|
Java
Java 中 IO 流的分类详解
【10月更文挑战第10天】不同类型的 IO 流具有不同的特点和适用场景,我们可以根据具体的需求选择合适的流来进行数据的输入和输出操作。在实际应用中,还可以通过组合使用多种流来实现更复杂的功能。
32 0
|
18天前
|
存储 算法 Java
带你学习java的数组军队列
带你学习java的数组军队列
31 0
|
21天前
|
Java 大数据 开发工具
java学习——环境准备(1)
java学习——环境准备(1)
37 0
|
3月前
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
4月前
|
Java 大数据
解析Java中的NIO与传统IO的区别与应用
解析Java中的NIO与传统IO的区别与应用
|
2月前
|
Java 大数据 API
Java 流(Stream)、文件(File)和IO的区别
Java中的流(Stream)、文件(File)和输入/输出(I/O)是处理数据的关键概念。`File`类用于基本文件操作,如创建、删除和检查文件;流则提供了数据读写的抽象机制,适用于文件、内存和网络等多种数据源;I/O涵盖更广泛的输入输出操作,包括文件I/O、网络通信等,并支持异常处理和缓冲等功能。实际开发中,这三者常结合使用,以实现高效的数据处理。例如,`File`用于管理文件路径,`Stream`用于读写数据,I/O则处理复杂的输入输出需求。