第15章:随堂复习与企业真题(File类与IO流)

2023-12-08 22:14

本文主要是介绍第15章:随堂复习与企业真题(File类与IO流),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第15章:随堂复习与企业真题(File类与IO流)


一、随堂复习

1. File类的使用

  • File类的一个实例对应着磁盘上的一个文件或文件目录。 ----> “万事万物皆对象”
  • (熟悉)File的实例化、常用的方法
  • File类中只有新建、删除、获取路径等方法,不包含读写文件的方法。此时需要使用IO流

2. IO流的概述

  • IO流的分类
    • 流向:输入流、输出流
    • 处理数据单位:字节流、字符流
    • 流的角色:节点流、处理流
  • IO的4个抽象基类:InputStream \ OutputStream \ Reader \ Writer

3. 节点流之:文件流

  • FileInputStream \ FileOutputStream \ FileReader \ FileWriter
  • (掌握)读写数据的过程。
    • 步骤1:创建File类的对象,作为读取或写出数据的端点
    • 步骤2:创建相关的流的对象
    • 步骤3:读取、写出数据的过程
    • 步骤4:关闭流资源

4. 处理流之一:缓冲流

  • BufferedInputStream \ BufferedOutputStream \ BufferedReader \ BufferedWriter
  • 作用:实现更高效的读写数据的操作

5. 处理流之二:转换流

  • 层次1:熟悉转换流的使用
    • InputStreamReader、OutputStreamWriter
  • 层次2:(掌握)字符的编码和解码的过程、常用的字符集
    • 解决相关的问题:读写字符出现乱码!本质问题:使用的解码集与编码集不一致。

6. 处理流之三:对象流

  • 层次1:熟悉对象流的使用
    • ObjectInputStream:反序列化时需要使用的api
    • ObjectOutputStream:序列化时需要使用的api
  • 层次2:对象的序列化机制
    • 使用场景:不同的进程之间通信、客户端(或浏览器端)与服务器端传输数据
    • 自定义类要想实现序列化机制需要满足的要求及注意点。

7. 其它流的使用

  • 了解:数据流:DataInputStream 、DataOutputStream
  • 了解:标准的输入流、标准的输出流:System.in 、System.out
  • 了解:打印流:PrintStream、PrintWriter

二、企业真题

2.1 IO流概述

1. 谈谈Java IO里面的常用类,字节流,字符流(银*数据)

输入流就是从外部文件输入到内存,输出流主要是从内存输出到文件。
IO里面常见的类,第一印象就只知道IO流中有很多类,IO流主要分为字符流和字节流。字符流中有抽象类InputStream和OutputStream,它们的子类FileInputStream,FileOutputStream,BufferedOutputStream等。字符流BufferedReader和Writer等。都实现了Closeable, Flushable, Appendable这些接口。程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件。

2. Java 中有几种类型的流?JDK为每种类型的流提供一些抽象类以供继承,请说出他们分别是哪些类?(上海*厦*联网、极*科技)

InputStream \ OutputStream \ Reader \ Writer

3. 流一般需不需要关闭?如果关闭的话用什么方法?处理流是怎么关闭的?(银*数据)

需要。close()

处理流在关闭过程中,也会关闭内部的流。

4. OutputStream里面的write()是什么意思?(君*科技)

数据写出的意思。

2.2 缓冲流

1. BufferedReader属于哪种流?他主要是用来做什么的?(国*电网)

BufferedReader 是一个缓冲字符输入流,该流可以对 FileRead 进行包装,提供一个缓存数组,一次将数据按照一定规则读取到缓存区中,输入流每次读取文件数据时都需要将数据进行字符编码,而 BufferedReader 的出现,降低了输入流访问数据源的次数,将一定大小的数据一次读取到缓存区并进行字符编码,从而提高 IO 的效率。

2. 什么是缓冲区?有什么作用?(北京中油**)

内部提供了一个数组,将读取或要写出的数据,现在此数组中缓存。达到一定程度时,集中性的写出。

作用:减少与磁盘的交互,进而提升读写效率。

2.3 转换流

1. 字节流和字符流是什么?怎么转换?(北京蓝*、*海*供应链管理)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.4 序列化

1. 什么是Java序列化,如何实现(君*科技、上海*厦物联网)
对象序列化机制允许把内存中的Java对象转换成平台无关的二进制流,从而允许把这种二进制流持久地保存在磁盘上,
或通过网络将这种二进制流传输到另一个网络节点。//当其它程序获取了这种二进制流,就可以恢复成原来的Java对象。
2. Java有些类中为什么需要实现Serializable接口?(阿*校招)

或通过网络将这种二进制流传输到另一个网络节点。//当其它程序获取了这种二进制流,就可以恢复成原来的Java对象。


#### 2. Java有些类中为什么需要实现Serializable接口?(阿*校招)便于此类的对象实现序列化操作。

这篇关于第15章:随堂复习与企业真题(File类与IO流)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/471485

相关文章

如何解决Druid线程池Cause:java.sql.SQLRecoverableException:IO错误:Socket read timed out的问题

《如何解决Druid线程池Cause:java.sql.SQLRecoverableException:IO错误:Socketreadtimedout的问题》:本文主要介绍解决Druid线程... 目录异常信息触发场景找到版本发布更新的说明从版本更新信息可以看到该默认逻辑已经去除总结异常信息触发场景复

IDEA下"File is read-only"可能原因分析及"找不到或无法加载主类"的问题

《IDEA下Fileisread-only可能原因分析及找不到或无法加载主类的问题》:本文主要介绍IDEA下Fileisread-only可能原因分析及找不到或无法加载主类的问题,具有很好的参... 目录1.File is read-only”可能原因2.“找不到或无法加载主类”问题的解决总结1.File

Python文件操作与IO流的使用方式

《Python文件操作与IO流的使用方式》:本文主要介绍Python文件操作与IO流的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python文件操作基础1. 打开文件2. 关闭文件二、文件读写操作1.www.chinasem.cn 读取文件2. 写

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre

Java实现将byte[]转换为File对象

《Java实现将byte[]转换为File对象》这篇文章将通过一个简单的例子为大家演示Java如何实现byte[]转换为File对象,并将其上传到外部服务器,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言1. 问题背景2. 环境准备3. 实现步骤3.1 从 URL 获取图片字节数据3.2 将字节数组

解决JavaWeb-file.isDirectory()遇到的坑问题

《解决JavaWeb-file.isDirectory()遇到的坑问题》JavaWeb开发中,使用`file.isDirectory()`判断路径是否为文件夹时,需要特别注意:该方法只能判断已存在的文... 目录Jahttp://www.chinasem.cnvaWeb-file.isDirectory()遇

VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virtual disk”问题

《VMWare报错“指定的文件不是虚拟磁盘“或“Thefilespecifiedisnotavirtualdisk”问题》文章描述了如何修复VMware虚拟机中出现的“指定的文件不是虚拟... 目录VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virt

Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单

《Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单》:本文主要介绍Springboot的ThreadPoolTaskScheduler线... 目录ThreadPoolTaskScheduler线程池实现15分钟不操作自动取消订单概要1,创建订单后