Java学习之路-第五周小结-上

day20、Map类、File类、递归

Map

Interface Map<K, V>

Map接口下面,已经封装好的实现类

HashMap

TreeMap

Map接口的方法:

增:
	V	put(K  Key , V  value)
    void	putAll ( Map <? extends K, ? extends V> v)
删:
	V	remove(K key)
改:
	V	put(K  Key , V  value)
查:
	int	size()
	boolean	isEmpty()
	boolean containsKey(Object Key)
	boolean containsValue(Object value)
重要的方法:
	V	get(K key)
	Set<K>	keySet()
	Collection<V>	values()
	Set<Map.Entry<K, V>>	entrySet()  将键值对的map的实体存到set集合中
File类

File是java内置的一个类

文件路径:

​ 相对路径:

​ ./ 代表当前的工作目录

​ …/ 上一级目录

​ …/…/ 上两级目录

​ …/…/…/ 上三级目录

​ 绝对路径:

​ C:\aa\1.txt

File类的构造方法

File(String pathname)
    通过将给定的路径名字字符串,转换为抽象路径名来创建新的File实例
File(String parent, String child)
    从父抽象路径和子路径字符串创建新的File实例

static String separator 与系统相关的默认名称 - 分隔符字符

File类的方法

//创建方法
boolean  createNewFile()
    //当且仅当具有该名称的文件尚不存在时,原子地创建一个由该抽象路径名命名的新的空文件
boolean  mkdir()	//创建单级目录
boolean  mkdirs()	//创建多级目录
//删除方法
boolean  delete()	//删除文件或者文件夹
//判断方法
boolean	 isFile()
boolean  isDirectory()
boolean  isHidden()
boolean  isAbsolute()
boolean  exists()
//获取方法  返回值是字符串的方法
String  getName()
String  getParent()
String  getPath()//获得file对象的绝对路径
// 返回是long类型数据
long  length();
long  lastModified();
//获取当前文件夹下所有的文件
File[]  listFiles();
String[]  list();

day21、IO流、序列化和反序列化

输入流:

​ 字节输入流 字符输入流

输出流:

​ 字节输出流 字符输出流

BufferedInputStream bis = new BufferedInputStream( new FileInputStream( new File("")));
BufferedOutputStream bos = new BufferedOutputStream( new FileOutputStream( new Fiel("")));
byte[] bytes = new byte[4*1024];

int length;
while(( length = bis.read(bytes)) != -1){
    bos.write(bytes, 0, length);
}
bos.close();
bis.close();

序列化:

​ 新建类然后创建对象,然后对对象的属性赋值。对象真实存在了,然后可以通过流来将对象存到本地磁盘上面,这就叫序列化。

​ 磁盘上面存的有对象的数据,咱们可以再通过流读取到Java代码中变成对象,这叫反序列化 持久性操作

序列化,从JVM到磁盘,输出流,ObjectOutputStream

FileOutputStream fos = new FileOutputStream("c:/xxx.ser");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(对象);
fos.close();
oos.close();

反序列化

FileInputStream fis = new FileInputStream("c:/xxx.ser");
ObjectInputStream ois = new ObjectInputStream(fis);
类  类的引用 = ()ois.readObject();
ois.close();
fis.close();
注意事项:
请注意,一个类的对象要想序列化成功,必须满足两个条件:

该类必须实现 java.io.Serializable 接口。

该类的所有属性必须是可序列化的。如果有一个属性不是可序列化的,则该属性必须注明是短暂的,transient  修饰 

day22、常用类

1、StringBuffer

StringBuffer append();

StringBuffer insert(int offset, Object obj)

StringBuffer reverse();

int capacity()

2、枚举类

语法格式
public enum{
	各个常量,用逗号隔开
}
//举例
public enum Color {
	RED, GREEN, BLUE
}

Color red = Color.RED;

可以有构造方法
enum Ball {
    TYPE_BASKETBALL("篮球"),
    TYPE_FOOTBALL("足球"),
	;
    String name;
    public Test1 (String name){
        this.name = name;
    }
}

枚举类的方法

values(); 枚举类中的所有的值
oridnal();每个常量的索引值
valueOf();返回值的指定的字符串的常量

 SexEnum sex = SexEnum.FEMALE;
        System.out.println(sex);

        SexEnum[] sexs = SexEnum.values();
        for (SexEnum sexEnum : sexs) {
            System.out.println(sexEnum+ " 这个值的索引值:"+sexEnum.ordinal());
        }
        SexEnum male = SexEnum.valueOf("MALE");

3、包装类

1、1.5之后自动装箱,自动拆箱

2、static String toString(); 将基本数据类型转为 字符串

3、static parse***(); 将一个字符串转为 所对应基本数据类型

4、Math类

Math.E

Math.PI

Math.abs()

Math.max()

Math.min()

Math.ceil(34.6)

Math.floor(35.6)

Math.random()

Math.bound()

5、Random类

Random  random = new Random();
random.nextInt();
random.nextBoolean();

6、System类

System类提供 包括标准输入流、标准输出流、错误输出流

long l = System.currentTimeMillis();//返回当前时间
//1970、1、1到当前时间的毫秒数

//获取当前系统的属性
Properties properties = System.getProperties();

7、Date

Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
date.getYear();
Calendar now = Calendar.getInstance();
now.get(Calendar.YEAR);
now.get(Calendar.MONTH)+1;
calendar.DAY_OF_YEAR;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值