1、知识点
1.1、课程回顾
1.2、本章重点
1.2.1、泛型
1.2.2、文件操作
2、具体内容
2.1、Java泛型
2.1.1、为什么需要泛型
我们发现在List中,底层是Object[ ]数组,那么也就是说,List可以存储任意对象类型。但是在实际开发中,我们一般一个List只存储一种类型,所以LIst就无法保证数据类型的约束。
第二点,我们存储的假如是String,那么我们希望取出来的数据类型也是String,没有泛型的时候,无论存什么,取出来的数据类型都是Object。我们希望存什么,取出来的就是什么。
2.1.2、集合框架添加泛型?
注意:泛型添加的时候,不能添加,基本数据类型。因为无论什么情况,底层就是Object[ ]数组,所以说LIst只能添加对象类型,而我们添加的泛型只不过是将Object[ ]具体化,基本类型不属于对象类型,所以不能添加基本类型泛型。
------》基本类型的包装类
2.1.3 自定义泛型
2.2、文件操作
2.2.1、文件操作学什么?
文件操作就是用Java代码操控我们操作系统中的文件。也就是说,我们通过代码对文件/文件夹进行增删改查;
2.2.2、File
A File对象的创建(路径分割符)
B 创建文件/文件夹
C、删除文件/文件夹
D、修改文件
E、文件查询
F、递归读取文件目录
这个地方仅仅让大家感受一波什么是递归。
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。
2.1.2 Java IO操作我们学习的重点是什么?
学习通过Java IO代码来对文件中的内容进行读写。
2.1.3 IO分类
流:输入流 输出流
方式:字节流 字符流
IO具体的流:
字节输入流 InputStream 字节输入流 OutputStream
字符输入流 Reader 字符输出流 Writer
我们如何区分到底是输入还是输入:
读进来(reader in) 写出去(Writer Out)
3.1 字节输出流
输出第一种方式 输出的是 码值
输出的第二种方式 byte[]数组的形式
输出的第二种方式 byte[]数组的形式 但是只输出部分内容
在原先文件内容之后追加内容而不是覆盖
应用:动态生成各种文件
3.2 字节输入流 FileInputStream
3.1 第一种读取方式
3.2 读取到byte数组中
3.3 读取到byte数组中 指定位置
3.4 循环读取内容