Map集合通过一个点找到一个具体的位置(映射)。
是一个双边队列:map集合中存的数据是键值对形式的数据。
Interface Map<K,V>
K: key 键
V: value 值
Map集合中常用的方法
增: V put(K key,V vlaue);添加键值对的数据到map集合中 void putAll(Map<? extends k>k,Map<?extends V> v);将一个map集合存放到另外一个map集合中 删: V remove(K key);通过键删除键值对的数据,返回值是值 改: V put(K key,V value);当键值存在的时候,会将value值覆盖掉 查: int size();查看集合中元素的个数 boolean isEmpty();判断集合是否为空,为空 true boolean containsKey();是否包含这个键 boolean containsValue();是否包含这个值 重要的方法: get(K key); 通过键获取值 keyset();获取map集合中的键,然后存到set集合中 collection<V> values();获取map集合中的值,存到collection中 set<Map.entry<K,V>> entrySet();将map集合中的键值对存到set集合中 Map.Entry这个接口的方法 getkey:返回键值对的键 getValue:返回键值对的值
File类
文件和目录路径名的抽象表示。
路径分为:相对路径和绝对路径
相对路径:
得有一个参照物
./当前工作目录
../上一级路径的目录
../../上两级目录
绝对路径:
磁盘的跟路径一级一级的往下找
file类的构造方法
File(String pathname)
通过将给定的路径名字符串转换为抽象路径名来创建新的 File
实例。
File(String parent, String child)
从父路径名字符串和子路径名字符串创建新的 File
实例。
package com.qfedu.b_file; import java.io.File; public class Demo1 { public static void main(String[] args) { //可以将1.txt 抽象成一个Java代码的对象 File file = new File("c:/aaa/1.txt"); File file2 = new File("c:\\aaa\\1.txt"); //Java中 看系统 /** * 1./ 在windows系统和linux 都是可以的!!! * 2.\ 只有在windows系统下面可以的 */ /** * static String separator * 与系统相关的默认名称 - 分隔符字符,以方便的方式表示为字符串。 * 当你是window系统的时候 就是\ * 当你的代码在linux / */ System.out.println(File.separator); //为了保证你的代码在任意的系统下面 路径的分割符是都可以使用 //可以咋写代码? File file3 = new File("c:" + File.separator + "aaa" + File.separator + "1.txt"); System.out.println(file3); System.out.println("====="); System.out.println(file); //File(String parent, String child) File file1 = new File("c:/aaa/", "1.txt"); System.out.println(file1); } }
File类下面的方法
返回值的一个布尔类型的数据(boolean)
createNewFFile();创建一个文件
1.如果文件路径不存在会报错
2.如果文件名字已经存在,返回false
3.磁盘坏了,创建不了
mkdir();创建单级路径
mkdirs();创建多级路径
删除文件或者文件夹
delete();立即删除文件
deleteOnExit();程序退出后删除文件
File对象的判断方法
isFile();是否是文件
isDirectory();是否是文件夹
isHidden();是否是隐藏文件
isAbsolute();是否是绝对路径
exists();判断文件或者文件夹是否存在
返回值是 String类型的数据的方法
getName();获取文件或者文件夹的名字
getPath();获取当前对象的路径
getParent();获取当前文件对象的上一级目录
返回值是Long类型的数据的方法
length();返回值是文件占用的字节数
lastModified();获取当前文件最后一次修改的时间,单位是毫秒
listFiles();获取当前文件夹下面的所有的文件
list();获取当前文件夹下面的所有的文件的名字
案例:
删除摸一个目录下面的所有的文件
package com.qfedu.b_file; import java.io.File; public class Demo9 { public static void main(String[] args) { File file = new File("c:/aaa/bbb"); del(file); } public static void del (File file) { //所有文件先取出来 File[] files = file.listFiles(); /** * c:\aaa\bbb\1.txt * c:\aaa\bbb\ddd * file1是ddd 是文件夹 * 1.txt删除了 * 再次执行del(file1) ddd文件夹 * eee * 2.txt * 再次执行del(eee) eee文件夹了 * * */ for (File file1 : files) { System.out.println(file1); if (file1.isDirectory()) {//是文件夹 del(file1);//递归 }else {//是文件 file1.delete(); } } } }