【幻化万千戏红尘】qianfengDay17-java基础学习:泛型,路径,File类,IO流
2016-08-04 11:11
344 查看
课程回顾:
今日内容:
Java中的集合
1、Collection<E>:继承了迭代器接口
1、List<E>:
1、ArrayList<E>
2、LinkedList<E>
2、Set<E>:
1、HashSet<E>
2、LinkedHashSet<E>
3、TreeSet<E>
2、Map<K,V>:
1、HashMap<K,V>
2、HashTable<K,V>
3、TreeMap<K,V>
特点:
List:重复、有序、索引
Set:不可重复、无序、无索引
Map:存储键值对
泛型:5.0
一种引用数据类型的占位符
T、M、K、V、P、E
主要是避免对象转型,提高效率
自定义泛型:
日常开发中,不确定的引用数据类型可以使用泛型
自定义泛型类
格式:修饰符 class 类名<T>
在类的内部,T就可以作为数据类型使用
自定义泛型方法:可以接受任何类型的对象
格式:[修饰符] <M> 返回值类型 方法名(M m);
{
}
受限泛型:受到约束的泛型
? extends E
? super E
T extends List
路径的划分:
1、绝对路径
物理路径,真实路径
一般都是盘符开头
是完整的路径名,不需要任何其他信息就可以定位它所表示的文件
2、相对路径
相对于当前项目而言,不带盘符
使用取自其他路径名的信息进行解释
File类:
java中描述文件或文件夹的类
常用属性:
separator:获取当前系统的分隔符
常用方法:
getAbsolutePath:获取绝对路径字符串
exists:验证文件是否存在
createNewFile:创建新的文件
canWrite:是否能写
canRead:是否能读
isFile:是否为文件
isDirectory:是否为目录
isHidden:是否为隐藏文件
length:获取文件的大小,单位:B
lastModified:获取修改时间,单位:毫秒
getName:获取文件名或文件夹名称
mkdir:创建当前的文件夹,如果上级目录不存在则创建失败
mkdirs:创建当前路径上所有不存在的文件夹
getParentFile:获取上级目录对应的File对象
renameTo:重命名并移动
文件可以任意移动(包括跨盘符)
文件夹只能在同一盘符下移动
移动---文件或目录名不能改变
重命名---路径不能改变
list:获取当前目录下所有直接子目录或文件的名称
listFiles:获取当前目录下的直接子目录或文件的File对象
delete:删除,如果是目录要求目录内必须为空才可以删除成功,如果为文件,那么文件不能被占用才能删除成功
FilenameFilter:文件名过滤器接口
主要是应用文件名过滤的
递归:方法内部出现了自己调用自己的情况
练习:获取一个文件夹中的所有文件和文件夹
递归
I/O流
Stream:流:数据通信的管道
流的分类:
1、按照方向划分
1、输入流
2、输出流
2、按照单位划分
1、字节流:传输的数据单位:字节B
2、字符流:传输的数据单位:字符
3、按照功能划分
1、节点流:直接操作数据的流
2、处理流(过滤流):操作流的流
操作资源我们使用字节流,只有操作字符串和文本文件的时候我们才使用字符流
java流的四大父类,都是抽象类
1、InputStream:输入字节流
read
skip
2、OutputStream:输出字节流
write
flush
3、Reader:输入字符流
read
skip
4、Writer:输出字符流
write
flush
流一般来讲都需要关闭close,放在Finally
文件流:操作文件的流
就是数据存储或来自文件中
1、FileWriter:文件输出字符流
write
flush
2、
3、
4、
周三:自定义泛型+File
周四:文件流+缓冲流+装饰者模式+转换流
周五:内存流+对象流+数据流+打印流
周六:随机读取文件类+流的总结+第四周考试(选择和编程)
相关文章推荐
- 【幻化万千戏红尘】qianfengDay07-java基础学习:static、设计模式之单例模式
- 【幻化万千戏红尘】qianfengDay12-java基础学习:二维数组、异常、错误
- 【幻化万千戏红尘】qianfengDay04-java基础学习:for语句.while语句,do-while语句
- 【幻化万千戏红尘】qianfengDay18-java基础学习:文件流、内存流、缓冲流
- 【幻化万千戏红尘】qianfengDay22-java基础学习:线程安全、synchronized、死锁
- 【幻化万千戏红尘】qianfengDay21-java基础学习:进程、线程、Timer
- 【幻化万千戏红尘】qianfengDay23-java基础学习:网络编程、TCP IP协议、端口Socket、ServerSocket
- 【幻化万千戏红尘】qianfengDay02-java基础学习:运算符、进制转换
- 【幻化万千戏红尘】qianfengDay01-java基础学习:历史、数据类型
- 【幻化万千戏红尘】qianfengDay14-java基础学习:集合,ArrayList,Iterator,LinkedList
- 【幻化万千戏红尘】qianfengDay05-java基础学习:方法、return、重载
- 【幻化万千戏红尘】qianfengDay11-java基础学习:数组,排序,算法
- 【幻化万千戏红尘】qianfengDay13-java基础学习:String ,StringBuilder,StringBuffer,Date,Calendar
- 【幻化万千戏红尘】qianfengDay09-java基础学习:接口,抽象类,抽象方法,多态,instanceof
- 【幻化万千戏红尘】qianfengDay08-java基础学习:修饰符、重写、继承、抽象、递归、final
- 【幻化万千戏红尘】qianfengDay19-java基础学习:转换流、对象流、打印流、三大标准(重定向)
- 【幻化万千戏红尘】qianfengDay24-java基础学习:数据库、七大表语句、JDBC反射
- 【幻化万千戏红尘】qianfengDay15-java基础学习:List,ArrayList,LinkedList,comparable,comparator
- 【幻化万千戏红尘】qianfengDay10-java基础学习:成员内部类、静态内部类、局部和匿名内部类,设计模式之简单工厂模式
- 【幻化万千戏红尘】qianfengDay06-java基础学习:重载、方法、类、对象、构造方法