Map和File类

Map和File类

1. Map双边队列

1.1 Map简介
键(Key)值(Value)对
程序开发大部分数据都是键值对形式的
	MySQL JSON XML 类对象成员变量和存储的数据
	从前端发送的数据也可以转成Map格式 ==> 一键生成 ==> 类对象 ==> 一键存储 ==> 数据库
	
interface Map<K, V>
--| class HashMap<K, V> 哈希表结构
--| class TreeMap<K, V> 底层是树形结构,存储要求K有对应的排序方式
	Map双边队列中键(Key)是唯一的,但是值(Value)可以重复
1.2 Map<K, V>方法
增:
	put(K k, V v);
		存入一个键值对类型,K和V都要符合泛型约束
	putAll(Map<? extends K, ? extends V> map);
		存入另一个Map双边队列,并且要求添加的Map双边对接中的K和V都要和当前Map中存储
		的K和V一致
删:
	remove(Object k);
		删除对应K的键(Key)值(Value)对
改:
	put(K k, V v);
		对应当前K存在,修改对应内容
查:
	int size();
		当前Map双边队列中,有效键值对个数
	boolean isEmpty();	
		是否为空
	boolean containsKey(Object key);
		判断指定的Key是否存在
	boolean containsValue(Object value);
		判断指定Value是否存在
	Set<K> keySet();
		返回整个Map双边队列中所有Key对应的Set集合
		【注意】一个方法使用set结尾,表示该方法返回的是一个集合类型,大多是情况下都
		是Set类型
	Collection<V> values();
		返回整个Map双边队列中所有Value对应的Collection集合
		【注意】方法名如果是一个复数,返回值类型集合或者是数组情况居多
1.3 EntrySet
Entry 可以认为是键值对对象
定义在Map类内
	class Entry<K, V> {
		K k;
		V v;
	}
	K,V是完全依赖于Map约束的,这里可以Entry里面保存的是每一个键值对类对象

Map中提供了一个方法
	Set<Entry<K, V>> entrySet
	返回值是键值对类对象Set集合
	Set集合中存储的是Entry类型
	Entry类型是带有泛型的
1.4 TreeMap<K, V> 以及Comparable和Comparator
K是需要有对应的比较方式,如果没有比较方式,无法存入。

2.File类

2.1 File类简介
ava中万物皆对象,计算机中万物皆文件

获取File类有三种方式【Constructor 构造方法】
	File(String pathName);
		根据对应的文件路径创建获取对应的File类对象,可以是文件,可以是文件夹。
	File(String parent, String child);
		根据对应的父目录文件夹路径,以及子文件名或者子文件夹名,创建对应的File类对
		象
	File(File parent, String child);
		根据对应的父目录文件夹File类对象,以及子文件名或者子文件夹名,创建对应File
		类对象
2.1.1 路径分隔符
Windows 分隔符 默认是 \
	Linux UNIX macOS 分隔符 默认是 / 
	
	Windows是支持Linux分隔符 / 没有任何问题 
	
	根据当前系统来区分不同的分隔符 File.separatorChar 
2.2 创建文件和文件夹
boolean createNewFile();
	通过File类对象调用,创建对应File类对象中保存的路径的普通文件。
	创建成功返回true,创建失败返回false
	返回false的原因:
		1. 路径不合法。
		2. 对应的文件夹没有写入权限。 rwxr-xr-x
		3. 对应当前的文件已经存在。

boolean mkdir();
	通过File类对象调用,创建对应File类对象中保存路径的文件夹
	创建成功返回true,创建失败返回false
	返回false的原因
		1. 路径不合法。
		2. 对应的文件夹没有写入权限。
		3. 对应当前的文件夹已经存在。

boolean mkdirs();
	通过File类对象创建其中保存的文件目录的所有对应文件夹,包括中间路径
	如果创建失败,返回false

boolean renameTo(File dest);
	通过File类对象调用,转为目标File类对象dest
	文件/文件夹移动,重命名
2.3 删除文件或者文件夹
boolean delete();
	通过File类对象调用,删除对应的文件或者文件夹
	【要求】
		1. 删除的文件或者文件夹都是直接抹掉数据,不是放入回收站
		2. 无法删除非空文件夹,文件夹中存在其他内容无法整体删除。
void deleteOnExit();
	程序退出时删除对应的文件或者文件夹
	用于删除程序运行过程中,留下的日志文件,缓冲文件,操作日志...
2.4 文件属性判断
boolean isFile();
	判断是否是一个普通文件
boolean isDirctory();
	判断是否是一个文件夹
boolean isAbsolute();
	判断是否使用了绝对路径
boolean isHidden();
	判断是否是隐藏文件
boolean exists();
	判断文件是否存在
2.5 获取文件属性
long lastModified()
		获取文件的最后一次修改时间,返回值是一个时间戳类型。
		从1970年01月01日 00:00:00到现在的秒数。计算机元年
	long length();
		获取文件的大小,占用硬盘空间字节数。
		如果操作的是文件夹,返回0L
2.6 列表方法
static File[] listRoots();
	通过File类调用,有且针对于Windows操作系统有效,获取当前电脑内所有根盘符对象,如果是Linux,UNIX,macOS是无效的。

File[] listFiles();
	通过File类对象调用,获取当前File类对象对应文件夹下的所有子文件或者子文件夹的File类对象数组

String[] list();
	通过File类对象调用,获取当前File类对象对应文件夹下的所有子文件或者子文件夹的String类型文件名或者文件夹名字数组
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值