第11讲-Java泛型和文件操作

时间:2023-12-27 11:13:13

1、知识点

1.1、课程回顾

第11讲-Java泛型和文件操作

1.2、本章重点

1.2.1、泛型

1.2.2、文件操作

2、具体内容

2.1、Java泛型

2.1.1、为什么需要泛型

我们发现在List中,底层是Object[ ]数组,那么也就是说,List可以存储任意对象类型。但是在实际开发中,我们一般一个List只存储一种类型,所以LIst就无法保证数据类型的约束。

第二点,我们存储的假如是String,那么我们希望取出来的数据类型也是String,没有泛型的时候,无论存什么,取出来的数据类型都是Object。我们希望存什么,取出来的就是什么。

第11讲-Java泛型和文件操作

2.1.2、集合框架添加泛型?

第11讲-Java泛型和文件操作

注意:泛型添加的时候,不能添加,基本数据类型。因为无论什么情况,底层就是Object[ ]数组,所以说LIst只能添加对象类型,而我们添加的泛型只不过是将Object[ ]具体化,基本类型不属于对象类型,所以不能添加基本类型泛型。

------》基本类型的包装类

2.1.3 自定义泛型

第11讲-Java泛型和文件操作

第11讲-Java泛型和文件操作

第11讲-Java泛型和文件操作

2.2、文件操作

2.2.1、文件操作学什么?

文件操作就是用Java代码操控我们操作系统中的文件。也就是说,我们通过代码对文件/文件夹进行增删改查;

2.2.2、File

第11讲-Java泛型和文件操作

A  File对象的创建(路径分割符)

第11讲-Java泛型和文件操作

B  创建文件/文件夹

第11讲-Java泛型和文件操作

C、删除文件/文件夹

第11讲-Java泛型和文件操作

D、修改文件

第11讲-Java泛型和文件操作

E、文件查询

第11讲-Java泛型和文件操作

F、递归读取文件目录

第11讲-Java泛型和文件操作

第11讲-Java泛型和文件操作

这个地方仅仅让大家感受一波什么是递归。

3.1 总结本章知识点

3.2 面试题答案

3.3 预习下一章重点

4、练习任务

任务一  IO 字节流 的 读 和 写

IO操作(文件内容的读写)

Io其实就是输入、输出

I  InputStream  输入流

O  OutStream  输出流

java IO即Java输入输出系统。不管我们编写何种应用,都难免和各种输入输出相关的媒介打交道,其实和媒介进行IO的过程是十分复杂的,这要考虑的因素特别多,比如我们要考虑和哪种媒介进行IO(文件、控制台、网络),我们还要考虑具体和它们的通信方式(顺序、随机、二进制、按字符、按字、按行等等)。Java类库的设计者通过设计大量的类来攻克这些难题(Java设计者将复杂的io操作封装成一个个方法,那么我们再去操作io的时候,只需要调用他们写好的方法就可以了),这个类就位于java.io包中。

在JDK1.4之后,为了提高JavaIO的效率,Java又提供了一套新的IO,JavaNewIO简称Java NIO

第11讲-Java泛型和文件操作

2.1.2  Java IO操作我们学习的重点是什么?

学习通过Java IO代码来对文件中的内容进行读写。

2.1.3  IO分类

流:输入流  输出流

方式:字节流  字符流

IO具体的流:

字节输入流  InputStream  字节输入流  OutputStream

字符输入流  Reader    字符输出流  Writer

我们如何区分到底是输入还是输入:

读进来(reader in)  写出去(Writer Out)

第11讲-Java泛型和文件操作

3.1  字节输出流

输出第一种方式 输出的是 码值

第11讲-Java泛型和文件操作

输出的第二种方式  byte[]数组的形式

第11讲-Java泛型和文件操作

输出的第二种方式  byte[]数组的形式  但是只输出部分内容

第11讲-Java泛型和文件操作

在原先文件内容之后追加内容而不是覆盖

第11讲-Java泛型和文件操作

应用:动态生成各种文件

3.2  字节输入流 FileInputStream

3.1 第一种读取方式

第11讲-Java泛型和文件操作

3.2 读取到byte数组中

第11讲-Java泛型和文件操作

3.3 读取到byte数组中 指定位置

第11讲-Java泛型和文件操作

3.4 循环读取内容

第11讲-Java泛型和文件操作