Java学习笔记(十五)

1. 请描述你理解的转换流

 转换流(InputStreamReader和OutputStreamWriter)是字节流和字符流之间的一种桥梁,用于将字节流转换为字符流或将字符流转换为字节流。转换流可以解决字节流和字符流之间的编码转换问题,从而使得我们可以方便地在不同的字符集之间进行转换。

2. 请描述你理解的字节缓冲流

 在Java中,字节缓冲流(BufferedInputStream和BufferedOutputStream)是一种可以提高I/O性能的流,它们通过在内存中创建一个缓冲区,以块的方式读取或写入数据,从而减少了I/O操作的次数,提高了数据读写的效率。

3. 请描述你理解的字符缓冲流

 在Java中,字符缓冲流(BufferedReader和BufferedWriter)是一种可以提高I/O性能的流,它们通过在内存中创建一个缓冲区,以块的方式读取或写入数据,从而减少了I/O操作的次数,提高了数据读写的效率。

4. Java IO里面的常用类有哪些

 字节流类、字符流类、基本数据类型和字符串流类、对象流类

其他类:

File:用于表示文件和目录的抽象类。

RandomAccessFile:用于随机访问文件的类。

Scanner:用于读取标准输入、文件或字符串的类。

PrintStream:用于打印输出的类,可以将数据写入文件或控制台。

5. Java 中有几种类型的流?JDK为每种类型的流提供一些抽象类以供继承,请说出他们分别是哪些类?

 字节流:主要由InputStream和OutputStream两个抽象类来定义

字符流:主要由Reader和Writer两个抽象类来定义,

字符串流:主要由StringReader和StringWriter两个类来实现,

对象流:主要由ObjectInputStream和ObjectOutputStream两个类来实现,

6. OutputStream里面的write()是什么意思?

 write()方法是用于向输出流中写入字节数据的方法。

7. BufferedReader属于哪种流?他主要是用来做什么的?

 缓冲字符输入流。主要用于提高读取文本数据的效率,通过缓冲机制,可以减少对底层资源(如磁盘或网络)的频繁访问次数,从而提高读取速度。

8. 什么是缓冲区?有什么作用?

 缓冲区(Buffer)是一种用于临时存储数据的内存区域,它可以在数据读写过程中,将一定量的数据暂时存储起来,然后在一定条件下(如缓冲区已满或达到一定的时间间隔)再将数据一次性读取或写入到目标设备中。缓冲区主要用于提高数据读写的效率和性能,减少对底层资源(如磁盘或网络)的频繁访问次数,从而提高数据读写速度和响应速度。

9. 字节流和字符流怎么转换?

将字节流转换为字符流:

InputStream in = new FileInputStream("example.txt");
Reader reader = new InputStreamReader(in, "UTF-8");
BufferedReader bufferedReader = new BufferedReader(reader);

将字符流转换为字节流

OutputStream out = new FileOutputStream("example.txt");
Writer writer = new OutputStreamWriter(out, "UTF-8");
PrintWriter printWriter = new PrintWriter(writer);


posted @ 2023-06-05 21:01  南极星丶  阅读(22)  评论(0)    收藏  举报