Java中有几种类型的流?各自的作用是什么?

字节流和字符流各自的功能及作用如下:

IO字节流
输入流/输出流
文件输入流/文件输出流
缓冲输入流/缓冲输出流
对象输入流/对象输出流

流分类
InputStream/OutputStream
FilelnputStream/fileOutputStream
BufferedlnputStream/BufferedOutputStream
ObjectlnputStream/ObiectOutputStream

 类型
超类、抽象类
节点流(低级流)
处理流(高级流)
处理流(高级流)

功能
他们是所有输入流和输出流的超类,并且他们是抽象类自身是不能被实例化的,但是规定了所有流都必须具备的读写方法。
字节文件的读写操作《基础)
缓冲流内部有一个字节数组作为缓冲区,默认8K.缓冲流会将读写数据统一转换为块读写操作,因此可以提高数据的读写效率 flush方法功能是强制将缓冲流的缓存区中已经缓存的数据写出)
作用是方便读写iava对象,他们可以负责将对象与字节进行相互转换。写出的对象所属的类必须实现可序列化接口。 (对象序列化和数据持久化)

IO字符流
输入流/输出流
转换输入流/转换输出流
缓冲输入流/缓冲输出流
缓冲字符输出流(自动刷新)

流分类
Reader/Writer
InputStreamReader/OutputStreamWirter
BufferedReader/BufferedWriter
PrintWriter

类型
抽象类超类
处理流(高级流)
处理流(高级流)
处理流(高级流)

功能
读写数据是以字符为单位读写的,因此字符流天生是具有编解码能力,只适合读写文本数据
其他的字符流在流连接中使用时有一个要求,只能连接在其他字符流上,但是我们常用的低级流通常都是字节流,这会导致不能串联在一而转换流的意义就在这里,它们是可以连接在字节流上的字符流,而其他的字符流又可以连接在他们上面,因此起到“转换器”的作用。
缓冲字符流读写文本数据效率高,并且可以按行读写文本数据。
具有自动行刷新新功能的缓冲字符输出流(内部连接了BufferedWriter作为缓冲功能)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java中的类有很多种,包括Object类、String类、Math类、Date类、Calendar类、ArrayList类、HashMap类等等。每个类都有自己的特定作用,例如Object类是所有类的基类,String类用于处理字符串,Math类用于数学计算,Date类和Calendar类用于处理日期和时间,ArrayList类和HashMap类用于数据存储和管理等等。 ### 回答2: 在Java中,类是面向对象编程中的基本概念之一,用于封装数据和行为。Java中的类有很多种,以下是其中几种常见的类及其作用: 1. Object类:是所有类的根类,其他所有类都直接或间接地继承自Object类。Object类提供了一些基本的方法,如equals(), toString()等。 2. String类:用于表示字符串,提供了许多字符串处理的方法,如字符连接、字符串查找等。 3. Math类:提供了一些基本的数学运算方法,如求平方根、绝对值等。 4. ArrayList类:实现了可变大小的数组,可以动态地增加或减少元素的个数。 5. Scanner类:用于从控制台或文件中读取输入。它提供了不同类型的读取方法,如nextInt()、nextLine()等。 6. Date类:用于表示日期和时间,提供了一系列对日期和时间进行操作的方法。 7. File类:用于操作文件文件夹,如创建、删除、重命名等。 8. InputStreamReader类和OutputStreamWriter类:用于处理字符输入和输出,可以进行字符编码和解码操作。 9. Thread类:用于创建多线程应用程序,可以实现线程的创建、启动、睡眠等操作。 10. JOptionPane类:用于创建简单的图形用户界面,可以弹出对话框来显示消息、接收用户输入等。 这些类代表了Java编程中常用的一些概念和功能,通过对它们的使用,可以达到更高效、更灵活的编程目的。当然,Java提供的类远不止这些,还有许多其他的类,开发者可以根据自己的需求选择合适的类来使用。 ### 回答3: 在Java中,类是面向对象编程的基本概念。Java中的类可以用来创建对象,定义对象的属性和行为。 Java中常见的类包括: 1. Object类:是所有类的根类,其他类都直接或间接继承自Object类。它提供了一些基本方法如equals()、hashCode()等。 2. String类:用于表示字符串,提供了很多字符串操作的方法,如拼接、截取、查找等。 3. Math类:提供了各种常用的数学运算方法,如取绝对值、取最大值等。 4. Scanner类:用于从输入中获取用户输入。 5. ArrayList类:动态数组类,可以存储和操作多个元素。 6. HashMap类:用于存储键值对,提供了快速的查找和存取操作。 7. File类:用于操作文件文件夹,可以创建、重命名、删除文件等。 8. Date类:用于表示日期和时间,提供了日期的比较、格式化等功能。 9. Thread类:用于实现多线程编程,可以创建和管理线程。 这些类都有各自的作用,方便程序员进行开发和操作数据。Java中的类可以通过实例化(创建对象)来使用其方法和属性,通过调用类的实例来访问类的属性和方法,实现封装和抽象的编程思想。类的定义和使用,是Java中面向对象编程的核心。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值