一、File类常用的API
File类的对象可以用来表示文件或者文件夹,下面是File类常用的API。
1.1、File类判断文件类型、获取文件信息功能
代码中的体现:
1.2、File类的创建和删除方法
代码中的体现:
1.3、文件夹遍历方法
代码中的体现:
二、字符集
字符集(Character set)是多个字符的集合,由于各个国家的文字和符号有所不同,所以就有了不同的字符集。
常见的字符集有GBK、UTF-8、ASCII字符集
GBK字符集中一个字母占1个字节,一个汉字占2个字节,
UTF-8字符集中一个字母占1个字节,一个汉字3个字节。
三、编码和解码
任何字符都不是直接存储在计算机中的,而是按照一定规则转换为二进制进行存储的,把字符转换为二进制的过程叫做字符编码。
把二进制转换为字符的过程叫做字符解码。
四、IO流
IO流是用来处理数据的读和写的,按照流向分为输入流和输出流,输入流是读数据到内存,输出流是写数据到磁盘。
4.1、IO流体系
按照读写的数据单位分为字节流、字符流。字节流:以字节为单位,读写。字符流:以字符为单位,读写。
4.2、字节流和字符流的使用
4.2.1、字节输入流在代码中的使用:
4.2.2、字符输入流在代码中的使用:
字符输入流和字节输入流使用时几乎一模一样,唯一的不同在于读取的数据单位为字符流(使用字节流读取中文的时候可能会造成乱码,使用字符流可以避免这种情况)
4.2.3、字节输出流在代码中的使用:
4.2.4、字符输出流在代码中的使用:
4.2.5、使用字节输入流、字节输出流完成复制
使用字节输入流读取a.txt文件中的内容,再使用字节输出流,将读取到的内容写到b.txt中。
五、缓冲流
5.1、缓冲流概述
缓冲流也称为高效流、或者高级流。之前学习的字节流、字符流可以称为原始流(基础流)。
缓冲流可以提高原始字节流、字符流读写数据的性能。缓冲流分为字节缓冲输入流、字节缓冲输出流、字符缓冲输入流、字符缓冲输出流。
5.2、字节缓冲流的基本使用
使用字节缓冲输入流、字节缓冲输出流完成文件复制
5.3、缓冲流的性能分析
使用原始字节流是首先将数据源读取到字节流,字节流再每次1KB的速度与内存交互。
字节缓冲输入流自带了8KB缓冲池,并且缓冲池位于内存中,这样内存读取数据就是从缓冲池中一次读取8KB,所以读取速度回快很多。同理字节缓冲输出流也自带了8KB缓冲池,位于内存中,这样每次写数据也会快很多。(字符缓冲流也是同样的原理)
5.4、字符缓冲流的基本使用
只是在BufferedReader和BufferedWriter中新增了readLine和newLine方法。
代码中的使用:
缓冲流的使用可以参考:
Java IO流 - 缓冲流的详细使用介绍_字节缓冲流_学全栈的灌汤包的博客-CSDN博客
六、Java对象的序列化和反序列化
序列化:将数据结构或对象转换成二进制字节流的过程
反序列化:将在序列化过程中所生成的二进制字节流的过程转换成数据结构或者对象的过程
若某个类实现了 Serializable 接口,该类的对象就是可序列化的。