java日期处理类以及File类

一. 关于int类型变量值以0开头的问题
        0开头 代表这个数字是八进制的
        0x开头 代表这个数字是十六进制
        
二. 两种对象的比较方式
    1. Comparable: (可比较的) 让一个类天生就具备比较性, 比较规则写在本类内部
        class Student implments Comparable<Student> 
        重写方法: compareTo(Object o1) 这就是比较规则
    2. Comparator: (比较器) 这是一个工具, 只有一个比较规则方法
        class Student裁判比较类 implements Comparator<Student>
        重写方法: compare(Object o1, Object o2)
        list 比较器对象 
三. Map集合
Map : 键值对集合, 一次可以存储一对对象
Key : 类似于Set集合(不重复)
          如果重复了, 后者覆盖前者

Value : 类似于List集合(可重复)
    
Map相关的3种遍历方式: 都用迭代器(不用管下标 不用管类型)
1. 遍历Key    :         map.keySet()
2. 遍历Value  :      map.values();
3. 遍历KeyValue :      map.entrySet();

Map.Entry是什么 ? 键值对类型  
通过map.entrySet()获得Map.Entry类型对象
该对象中包含两个部分
1. entry.getKey() 获得键值对里的键
2. entry.getValue() 获得键值对里的值


一. Date日期处理类(不常用但还是了解一下,jdk1.8以后常用LocalDateTime等处理日期)
在Java里面提供了一个java.util.Date类, 直接表示当前日期时间
在Date类中有如下几个重要方法: 
    1. 无参构造: public Date()
    2. 有long参构造: public Date(long date)
        作用: 把时间毫秒数转成Date对象
    3. 转换为long型: public long getTime();
        作用: 把Date对象转换成时间毫秒数


Calendar类的使用方式(比较过时的,其本身具有可变性)

1.获取月份:1月是0,二月是1...以此类推

2.获取星期时:周日是1,周一是2...周六是7

其本身并不能实例化,通过子类GregorianCalendar或静态方法getInstance()(此方法本质就是创建了GregorianCalendar对象)

常用方法

1.get():填写一个int类型的值。(Calendar.DAY_OF_MONTH 获取这个月的第几天)

2.set():可以将指定属性设置成一个新的值。(Calender.DAY_OF_MONTH,20 见这个月天数修改成20天)不需要接收,修改直接作用本身,可变性

3.add():将指定属性添加指定int数(Calender.DAY_OF_MONTH,3)减的话只需要将参数2改为负数即可

4.getTime() 将日历类(Calendar)转换成Date类

5.setTime() 将Date时间设置为当前日历类的时间(Date-->日历类)

日期格式化类: SimpleDateFormat (java.text.SimpleDateFormat)
SimpleDateFormat是专门处理日期格式的工具类, 将Date对象转换为String类型显示
主要使用以下方法:         
    1. 构造方法 : public SimpleDateFormat(String pattern) 需要转换的格式
    2. 将Date转换为String : public final String format(Date date)
    3. 将String转换为Date : public Date parse(String source) throws ParseException    

日期3种形态: date对象, String, long毫秒
        
二. java.io包 input output ★★★★★ 
首先说明, 在Java编程里, 对于所有初学者而言, io包是最麻烦的一块内容
因为io包中的父类与其对应的子类实在是太多了
io包的主要作用是对文件及文件内容进行操作, 其中有5个核心类:
1. java.io.File 文件类
2. java.io.InputStream 字节输入流的所有类的超类
3. java.io.OutputStream 字节输出流的所有类的超类
4. java.io.Reader 读取字符流的抽象类
5. java.io.Writer 写入字符流的抽象类


在整个io包中, File类是唯一一个操作文件本身的类, 但不涉及到文件里的内容
文件的本身的操作包括 : 创建 删除 设置权限 各种判断 ...
File类的常用构造方法: 
File(String pathname) 
          通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。

 创建文件和目录

createNewFile():具有该名称的文件尚不存在时,创建一个新的空文件

mkdir():创建文件夹

mkdirs():创建文件夹目录树

isXxx & canXxx方法(具体查阅API文档)

isDirectory():是否为目录

isFile():是否为文件

canExecute():能执行吗

canRead():能读吗

扫描当前文件夹中

listFiles():获取当前路径下的文件列表,然后遍历

具体的一些getName():获取文件名称包含后缀,length():获取文件大小(字节数)等自行翻阅API文档了解下即可

递归扫描当前文件夹与子文件夹

listFiles():获取当前路径下的文件列表,然后遍历,判断是否是文件夹,是的话递归,记得异常处理,因为有些文件夹因为权限的原因可能会导致报空指针异常

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值