文章目录
作者信息
作者:黄钰朝
邮箱:kobe524348@gmail.com
日期:2019年7月14日
前言
今天整理了Java的File类的相关方法,和Java中IO流相关的知识,了解JavaIO包中的各种流的体系,学习JavaNIO和JavaIO的区别,并且了解Java中的socket编程,按照导师的要求,使用socket编写聊天程序。
一.Java中的File类
1.1 什么是File?
- File是Java中用来代表文件/文件夹的一个对象
- File不等于文件,只是文件的抽象,Flie作为一个Java类的实例而存在,不依赖于具体的文件,只是Java把对文件的操作抽象成为对File对象的操作。
- File对象可以实现对文件的创建,删除,修改等操作,但是无法进行文件内容的读取,只能依靠IO流.
1.2 两种文件路径
- 绝对路径:带盘符的完整路径
- 相对路径:不写盘符,默认以项目位置为当前路径
1.3 File类的三种构造方法
- 通过一个文件路径创建一个File对象
- 通过一个文件路径+文件名/文件夹名创建一个File对象
- 通过一个File对象+文件名/文件夹名创建一个File对象
其中第三种相当于把父目录封装成File对象,再根据文件名/文件夹名创建File对象
1.4 File类常用方法
创建:如果目标文件/文件夹已存在,就不创建了
- createNewFile:创建一个文件,如果目录不存在则无法创建
- mkdir:创建一个文件夹,如果目录不存在则无法创建
- mkdirs:创建文件夹,如果目录不存在则创建多级文件夹
删除:如果目标文件夹内有文件/文件夹,则无法删除
- delete:删除一个文件/文件夹
修改:
- renameTo(File newfile):重命名一个文件/文件夹,相当于把文件转移到另一个File对象所指的路径
另有获取文件名,文件是否存在/可读/可写等方法
1.5 List方法获取当前目录下的文件/文件名数组
- list方法:获取当前目录下的文件名数组
- listFiles方法:获取当前目录下的文件数组
1.6 文件过滤器FilenameFilter
使用FilenameFilter过滤器,其目的是给list()方法列出文件或文件名时增加筛选条件
主要思想:过滤器模式和模板模式
创建一个过滤器,通过重写接口的accept方法传递策略,list方法在遍历文件名时使用过滤器去除不符合条件的文件
扩展:使用Lambda表达式简化代码
FilenameFilter接口是单函数接口,因此可以使用Lambda表达式简化代码