- 博客(72)
- 收藏
- 关注
原创 属性文件properties的基本用法
/ 2. 加载属性文件中的键值对数据到 properties 对象中去。// 2. 将 properties 对象中的数据存储到属性文件中去。// 1. 创建一个properties对象(键值对集合,空容器)// 1. 创建 properties 对象,存储一些键值对数据。// 4. 遍历全部的键和值。// 3. 根据键取值。
2024-10-15 12:47:51 218
原创 序列化流与反序列化流的基本使用
User u = new User("admin", "懂", 26, "123");注意: 对象如果需要序列化, 则被序列化的对象必须实现Serializable接口。try ( // 1. 创建一个对象字节输出流包装原始的字节输出流。try ( // 1. 创建一个对象字节输出In装原始的字节输出流。对于不想参与序列化的对象属性用 transient 修饰。序列化流即对象字节输出流: 将对象序列化并输出到文件中。反序列化流即对象字节输入流: 反序列化对象读到内存中。
2024-10-15 10:35:37 191
原创 数据输入流和数据输出流的基本使用
数据输出流: 输出到文件的数据不一定是可视化的, 但一定是可以被数据输入流再次读取的。try (// 1. 创建一个数据输出流包装低级的字节输出流。try (// 1. 创建一个数据输入流包装低级的字节输入流。dos.writeUTF("你好啊");数据输入流: 读取数据输出流输出的特定类型的数据数据。
2024-10-15 10:08:16 170
原创 打印流的基本使用
/ 把系统默认的打印流对象改为自己设置的打印流, 打印信息会保存在目标路径的文件中。打印流 PrintStream/PrintWriter: 打印啥出去就是啥。System.out.println("噫嘘唏");ps.println("很尴尬");try (//1. 创建打印流管道。
2024-10-14 11:08:06 117
原创 字符输入转换流和字符输出转换流的基本使用
字符输入转换流可以简单地把字节输入流按照默认编码转换为字符输入流, 也可以按照指定字符集编码转换成字符输入流。// 2. 把原始的字节输入流按照指定字符集编码转换成字符输入流。// 3. 把字符输入流包装成缓冲字符输入流。try (// 1. 得到文件的原始字节流。
2024-10-11 10:53:07 339
原创 字符缓冲输出流的基本使用
/ 此处没有使用多态, 是因为要使用BufferedWriter特有的方法。// 创建一个字符缓冲输出流管道包装原始的字符输出流。// 特有方法用于换行。// 1. 创建一个文件字符输出流管道与文件连接。bw.write("十月十日");bw.write('豪');// 写一个字符出去。
2024-10-11 09:58:20 339
原创 字节缓冲输入流的基本使用
public class BufferedReaderTest01 { public static void main(String[] args) { try (Reader fr = new FileReader("day01\\src\\io\\file06.txt"); // 创建一个字符缓冲输入流包装原始的输入流 BufferedReader br = new BufferedReader(fr); // 此处没有使用多
2024-10-11 09:48:47 325
原创 字节缓冲流的基本使用
/ 定义一个字节缓冲输入流包装原始的字节输入流。// 定义一个字节缓冲输出流包装原始的字节输出流。// 创建一个字节数组, 负责转移字节数据。//记录读取了几个字节。掌握字节缓冲流的作用。
2024-10-11 09:35:55 217
原创 文件字符输出流的基本操作
flush() : 刷新流 // 关闭流操作里包含刷新流。// 1. 创建一个文件字符输出流管道与文件连接。// 写一个字符数组的一部分出去。// 写一个字符串的一部分出去。// 写一个字符数组出去。// 写一个字符串出去。// 写一个字符出去。
2024-10-10 11:55:52 216
原创 try-catch-resource
/ 资源对象都会实现 AutoCloseable 接口。资源都会有一个 close 方法。try-catch-resource: 在 try 小括号中的定义的资源, 在 try 代码块运行结束后会自动地释放。try ( // 注意: 这里只能定义资源对象 (例如: 流对象)// 创建一个字节数组, 负责转移字节数据。//记录读取了几个字节。
2024-10-10 10:29:00 260
原创 try-catch-finally
finally代码区特点: 无论 try 中代码是正常运行还是出现异常, 最后都会执行 finally 区代码, 除非JVM虚拟机终止运行。} finally { // fianlly 区块中不能返回数据。// 创建一个字节数组, 负责转移字节数据。//记录读取了几个字节。认识 try-catch-finally。
2024-10-10 10:14:32 291
原创 文件字节输出流的基本使用
/write每次也可以写入一个字节数组的一部分。// // os.write('类');// byte[] bytes = "十月九日".getBytes();// write每次可以写入一个字节。// // 覆盖管道, 用此管道会覆盖之前的数据。
2024-10-09 11:06:26 143
原创 文件字节输入流的基本使用
/ System.out.println("当前读取的字节数量为" + len2);// System.out.println("当前读取的字节数量为" + len);// // public int read(byte[] buffer) 一次读取多个字节。// // 注意: 读取多少字符,倒出多少字符 (文件中的数据为abc66)// // 2. 开始读取文件中的字节数据,每次读取多个字节。// 记录每次读取了多少个字节。
2024-09-23 10:52:05 229
原创 使用递归实现文件搜索的示例
/ 判断为文件夹, 继续重复该过程(递归操作)* @param fileName 要搜索的文件名称。// 确保可以拿到目录下的一级文件名称。* @param dir 目录。// 遍历全部一级文件。// 把非法的目录拦下。* 去目录下搜索某个文件。
2024-09-05 15:12:00 396
原创 File提供的遍历文件夹的方法
/ 1. 获取目录下所有的一级文件夹名称和文件名称到一个字符串数组。// 2. 获取目录下所有的一级文件夹和文件对象到一个文件对象数组中。掌握File提供的遍历文件夹的方法。
2024-09-05 14:23:52 260
原创 File创建和删除的相关方法
/ 4. 删除文件或空文件夹, 但不能删除非空文件夹。// 1. 创建一个新文件, 成功返回true。掌握 File创建和删除的相关方法。// 2. 创建一级文件夹。// 3. 创建多级文件夹。
2024-09-05 11:03:49 360
原创 File类的常用方法
/ 8. 获取创建文件对象时, 使用的路径。// 2. 判断指向的文件是否存在。// 4. 判断指向的是否是文件夹。// 7. 获取文件的最后修改时间。// 3. 判断指向的是否是文件。// 5. 获取文件的名称。// 6. 获取文件的大小。// 1. 创建文件对象。// 9. 获取绝对路径。
2024-09-05 10:39:18 321
原创 File类对象的创建
/ File类中的length代表文件或文件夹的字节码长度。// 判断文件是否存在。// 两种表示路径的方法都可以用, File类对象可以指向不存在的文件。// 1.创建一个File对象,指代某个具体的文件。掌握File类创建对象,以此实现操作文件或文件夹。
2024-09-05 10:27:11 279
原创 Stream流的常见终结方法
Student student1 = new Student("蜘蛛精", 26, 172.5);Student student2 = new Student("蜘蛛精", 26, 172.5);// 找出身高超过170的学生对象, 并把学生对象的名字和身高, 存入一个 Map集合并返回。// 找出身高超过170的学生对象, 并放到一个新集合中去返回。// 找出身高超过170的学生对象, 存入数组中。// 找出身高最矮的学生对象, 并输出。// 找出身高最高的学生对象,并输出。// 流对象只能收集一次!
2024-08-02 12:40:40 410
原创 Stream流常用的中间方法
/ 由于身高为 Double类型数据,比较函数返回类型为 int类型,所以sorted当中使用 Double类的 Compare函数,// map为映射方法,在此处将处理对象从 Student类型转换为了 name类型, distinct为去除重复元素的方法。// filter根据条件过滤元素, sorted对元素进行排序,默认为升序, forEach遍历集合中所有元素。// 找出身高超过 168的学生叫什么名字,取出重复的名字,并输出。// 取出身高最高的三名学生,并输出。
2024-08-02 10:52:33 269
原创 Stream流的获取方法
stream1.filter(s -> s.contains("德")).forEach(s -> System.out.println(s));Collections.addAll(set, "刘德华", "张曼玉", "张学友", "玛德");Collections.addAll(list, "张三丰", "张无忌", "周芷若");String[] names = {"张翠山", "东方不败", "独孤求败"};map.put("卡尔扎巴", 168.3);// 获取 Map集合的 Stream流。
2024-08-01 16:31:12 391
原创 Stream流介绍
filter(s -> s.startsWith("张") && s.length() == 3).collect(Collectors.toList());Collections.addAll(names, "张三丰", "周芷若", "赵敏", "张无忌", "张强");if (name.startsWith("张") && name.length() == 3) {//[张三丰, 周芷若, 赵敏, 张无忌, 张强]//[张三丰, 张无忌]//[张三丰, 张无忌]// 体验Stream流的简便。
2024-08-01 15:49:36 209
原创 集合的嵌套使用
/{江苏省=[南京市, 常州市, 扬州市], 湖北省=[武汉市, 孝感市, 宜昌市]}System.out.println(map.get("江苏省"));//[南京市, 常州市, 扬州市]Collections.addAll(cities1, "南京市", "常州市", "扬州市");Collections.addAll(cities2, "武汉市", "孝感市", "宜昌市");map.put("江苏省", cities1);map.put("湖北省", cities2);
2024-08-01 15:26:26 351
原创 Map集合的遍历方式
/{蜘蛛精=169.8, 牛魔王=183.6, 至尊宝=169.5, 紫霞仙子=162.8}//[蜘蛛精, 牛魔王, 至尊宝, 紫霞仙子]//调用 Map集合的 entrySet方法,把 Map集合转换成键值对类型的 Set集合。map.put("紫霞仙子", 162.8);map.put("蜘蛛精", 169.8);map.put("至尊宝", 169.5);map.put("牛魔王", 183.6);// 通过键值对的形式对map集合进行遍历。//2.遍历全部的键,根据键获取对应的值。
2024-08-01 09:56:45 263
原创 Map类中的常用方法
System.out.println(map.get("张三"));//null //当集合中没有对应的键时,会输出null。System.out.println(map.containsKey("手表"));System.out.println(map.containsKey("手机"));System.out.println(map.remove("手表"));//获取Map集合的所有值,保存在Collection集合中。//获取Map集合中的全部键,保存在Set集合中。//判断集合是否为空。
2024-07-31 15:39:37 313
原创 Map集合常用种类及特点
/{null=null, 手表=220, 手机=2, java=2}//{手表=220, 手机=2, java=2, null=null}map1.put("手机", 2);map2.put("手机", 2);
2024-07-31 15:04:16 295
原创 Collections工具类的使用
Student{name='紫霞仙子', age=22, height=169.8},[Student{name='至尊宝', age=26, height=166.0},Student{name='蜘蛛精', age=23, height=169.7},Student{name='蜘蛛精', age=23, height=169.7},Student{name='蜘蛛精', age=23, height=169.7},Student{name='蜘蛛精', age=23, height=169.7},
2024-07-31 10:26:46 230
原创 可变参数的使用
/也可以传入一个数组。// 特点: 对于可变参数, 可以不输入参数, 也可以输入一个或多个参数。// 可变参数在方法内部,本质上是一个数组。一个参数列表中只能有一个可变参数。可变参数必须放在形参列表的最后面。认识可变参数,掌握其作用。
2024-07-31 09:42:15 415
原创 集合的并发修改异常处理
/[王麻子, 李四, 王昭, 李贵, 赵王, 李世民]it.remove();//[王麻子, 王昭, 赵王]// list.remove(name);//产生并发修改异常。if (name.contains("李")) {list.add("王麻子");list.add("李世民");list.add("李四");list.add("王昭");list.add("李贵");list.add("赵王");
2024-07-30 16:01:48 304
原创 Set集合特点
/ LinkedHashSet特点: 有序,不重复,无索引。// TreeSet特点: 可排序,不重复,无索引。// HashSet特点: 无序,不重复,无索引。// [555, 666, 777, 888] 默认升序。就需要去类中重写 hashCode和 equals方法。
2024-07-30 10:38:54 312
原创 List集合特点及常用方法
/ 5. public E set(int index, E element): 修改索引位置处的元素,并返回原来的数据。//[蜘蛛精, 蜘蛛精, 紫霞仙子, 至尊宝, 牛夫人]// 3. public E remove(int index): 根据索引删除元素,并返回被删除元素。//[蜘蛛精, 蜘蛛精, 至尊宝, 牛夫人]System.out.println(list.set(3, "牛魔王"));
2024-07-27 10:45:03 432
原创 Collection集合的遍历方式
String[] names = {"迪丽热巴", "古力娜扎", "西起哈哈"};//[赵敏, 小昭, 素素, 灭绝]// //System.out.println(it.next());// //next(): 获取当前位置元素,并将迭代器对象指向下一个元素处。c.add("赵敏");c.add("小昭");c.add("素素");c.add("灭绝");c.add("赵敏");c.add("小昭");c.add("素素");c.add("灭绝");c.add("赵敏");
2024-07-25 16:27:00 375
原创 单列集合Collection常用API
/ 6. public boolean remove(E e): 删除某个元素,如果集合中有多个相同元素,默认删除第一个。// 5. public boolean contains(Object obj): 判断集合中是否包含某个元素。// 7. public Object[] toArray(): 把集合转成数组。// 1. public boolean add(E e): 添加元素。// 4. public int size(): 获取集合的大小。//把一个集合中的数据全部加到另一个集合当中去。
2024-07-25 11:19:35 255
原创 自定义异常
/这个异常类必须继承自RuntimeException,才能成为一个运行时异常类,而不是一个编译时异常类。//这个异常类必须继承自Exception,才能成为一个编译时异常类,而不是一个运行时异常类。//用一个异常对象封装这个问题,并将问题抛到上一层。//用一个异常对象封装这个问题,并将问题抛到上一层。//throws用在方法上,用于抛出方法内部的异常。//throw将异常对象抛到上一层。//throw将异常对象抛到上一层。//掌握自定义异常,以及异常的作用。//掌握自定义异常,以及异常的作用。
2024-07-24 11:13:37 245
原创 枚举的定义及使用
/输出该对象在枚举中的索引 //2。//根据对象名拿到枚举对象。System.out.println("展示美女图");System.out.println("展示帅哥图");//1.枚举类的构造器是私有的,不能对外创建对象。//2.枚举第一行的对象都被以常量的形式记录。//注意:枚举的第一行必须罗列的是枚举对象的名字。//3.枚举类提供一些额外的API。//枚举都是最终类,不可以被继承。
2024-07-24 10:04:28 269
原创 Instant类 : 用于表示时间的对象
System.out.println("减1000毫秒:" + now.minusMillis(1000));System.out.println("加1000毫秒:" + now.plusMillis(1000));static Instant now() : 获取当前时间的Instant对象(标准时间而非北京时间)System.out.println("减五秒钟:" + now.minusSeconds(5));System.out.println("当前世界标准时间为:" + now);
2024-07-24 09:05:43 380
原创 Calendar抽象类的定义及使用
Calendar抽象类 : 代表的是系统此刻时间对应的日历, 通过它可以单独获取、修改时间中的年、月、日、时、分、秒等。public void add(int field, int amount) : 为某个字段增加/减少指定的值。public void set(int field, int value) : 修改日历中某个字段信息。public static Calendar getInstance() : 获取当前时间的日历对象。Calendar.YEAR : 获取年份信息(以此类推)
2024-07-24 09:05:27 358
原创 ZoneDateTime类
static ZonedDatetime ofXxx() : 获取指定时间的ZonedDateTime对象。static ZonedDatetime now() : 获取当前时间的ZonedDateTime对象。ZonedDateTime minusXxx(时间) : 减少时间系列的方法。ZonedDateTime withXxx(时间) : 修改时间系列的方法。ZonedDateTime plusXxx(时间) : 增加时间系列的方法。
2024-07-24 09:05:06 101
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人