目录
目录
1、泛型
2、File类
3、IO流
3.1 字节流
3.2 字符流
3.3 包装流
3.3.1 缓存流
3.3.2 对象流
1. 泛型
1.1 什么是泛型
1. 泛型就是限制我们得数据类型。
2.为什么使用泛型?
我们原来在定义集合时,是如下得定义方式:
List list=new ArrayList();//该集合没有使用泛型
list.add("java01");
list.add("java02");
String str= (String) list.get(0);//获取元素 需要进行强制类型转换
System.out.println(str);
获取元素时,不方便对元素进行相应得其他操作。
1.2 如何使用泛型
List<类型> list=new ArrayList<类型>(); 只能在该集合中存储指定得类型。
public static void main(String[] args) {
List<String> list=new ArrayList<>();//这里就限制了集合中每个元素得类型。
list.add("java01");
list.add("hello"); //因为集合中只能添加String类型
list.add("world"); //因为集合中只能添加String类型
String s = list.get(0); //在获取元素时 默认就是相应得数据类型 而无需在进行转换
//<K,V>:K:表示键得泛型 V:表示值得泛型
HashMap<String,Integer> map=new HashMap<>();
map.put("name",15);
map.put("age",25);
Set<String> keys = map.keySet();
}
1.3 自己定义泛型类
public class 类名<标识,标识....> {
标识 变量名;
public 标识 方法名(){
}
public void 方法名(标识 参数名){
}
.........
}
例:定义坐标类
public class Test03 {
public static void main(String[] args) {
//在创建泛型类对象时没有指定相应得泛型类型。则默认为Object类型
Point p1=new Point();
p1.setX(15);
p1.setX("北纬50度");
//这里得泛型必须都是对象类型
Point<Integer> p2=new Point<Integer>() ;
p2.setX(25);
p2.setY(65);
Integer x = p2.getX();
Integer y = p2.getY();
p2.show();
Point<String> p3=new Point<>();
}
}
class Point<T>{
private T x;
private T y;
public void show(){
System.out.println("x坐标为:"+x+";y坐标为:"+y);
}
public T getX() {
return x;
}
public void setX(T x) {
this.x = x;
}
public T getY() {
return y;
}
public void setY(T y) {
this.y = y;
}
}
2. File对象
2.1 File介绍
File文件类: 对我们系统上的文件和文件夹的一种抽取。
(1)创建该类对象时的方法: File file=new File("文件的路径");
(2)方法:
list();列出该目录下所有的子文件名.
listFiles();列出该目录下所有的子文件对象
getPath():得到文件的路径
createNewFile():创建文件
mkdir();创建单层目录
mkdirs():创建多层目录
exists():判断文件是否存在。
isDirectory():判断是否该文件为目录.
delete():删除文件
2.2 创建File对象
/*
\\目录层级 在window系统下层级分割符为\ 但是在linux和mac系统上分割符为 /
java代码是一种跨平台得语言 开发在window 项目部署在linux
使代码能在任意系统下用有两种解决办法
*/
File file1 = new File("E:\\aaa\\a.txt");
//(1)第一种 因为window 兼容 / 和 \
File file2 = new File("E:/aaa/a.txt");
//(2)第二种 File.separator根据当前代码所在系统自动获取相应分割符
System.out.println(File.separator);
File file3 = new File("E:"+File.separator+"aaa");
2.3 增加
//创建文件
File file1= new File("E:/AAA/a.txt");//创建File对象
file1.createNewFile();//创建文件
File file2 = new File("E:/AAA/aaa");
file2.mkdir();//创建单层目录
File file3 = new File("E:/AA