
JAVASE的学习笔记(九)(Properties类和面向接口编程)
发布日期:2021-05-14 17:01:33
浏览次数:15
分类:精选文章
本文共 5278 字,大约阅读时间需要 17 分钟。
JAVASE的学习笔记(九)
Properties类
Properties类在Java中是一个非常有用的工具类,主要用于读取和写入配置文件。它可以将键值对的数据存储在文件中,后续程序可以通过读取这些文件获取相应的配置信息。
简单操作(添加,取出)
Properties类的主要操作包括setProperty和getProperty方法。setProperty用于将键值对添加到Properties对象中,而getProperty则用于查询特定的键值对。以下是一个简单的例子:
import java.util.*;public class F07 { public static void main(String[] args) { Properties props = new Properties(); props.put("九天十地","荒天帝"); props.setProperty("遮天","叶天帝"); System.out.println(props.get("九天十地")); // 输出:荒天帝 System.out.println(props.getProperty("叶天帝")); // 输出:叶天帝 System.out.println(props.getProperty("仙古")); // 输出:null System.out.println(props.getProperty("星空之下","王升")); // 输出:王升 }}
属性文件读取配置信息(重要)
在Java开发中,属性文件(如.commonextions文件)常用来存储配置信息。这类文件通常以utf-8编码格式保存,通用格式为 KEY=VALUE,例如:
# 该文件我们可以随时进行修改bookName=诛仙my.author=萧
属性写入信息(追加)
Properties类还支持在现有文件中追加写入信息,可以通过FileOutputStream的第二个构造参数true实现。以下是一个示例:
import java.util.*;import java.io.*;public class Demo03 { public static void main(String...args) throws Exception { Properties props = new Properties(); props.setProperty("name","加油"); props.setProperty("remark","Happy"); props.setProperty("bookName","大白"); props.store(new FileOutputStream("k:/jdbc.properties", true), "zhe ge shi zhu shi"); }}
面向接口编程(小程序)
1. 设置宗门分部类
创建一个用于存储宗门分部信息的Java类:
package com.yu.test;public class Department { private Integer deptCode; private String deptName; private String userName; public Department(Integer deptCode, String deptName, String userName) { this.deptCode = deptCode; this.deptName = deptName; this.userName = userName; } // 类中还包含获取和设置方法(如getDeptCode, setDeptCode等)}
2. 初始化宗门各部
创建一个没有扩展性的数据仓库类,用于初始化各部门数据:
package com.yu.test;import java.util.ArrayList;import java.util.List;public abstract class DateRepository { private static Listdates = new ArrayList<>(); static { dates.add(new Department(1001, "斗部", "苏宇")); dates.add(new Department(1002, "影部", "冰台")); dates.add(new Department(1003, "商部", "三万")); }}
3. 设定程序基本功能接口
定义一个接口,包含基本操作:
package com.yu.test;import java.util.List;public interface DepartmentDao { Listlist(); boolean delete(Integer departmentCode); boolean add(Department department);}
4. 实现接口
创建一个实现接口的类:
package com.yu.test;import java.util.List;public class DepartmentDaoImpl extends DateRepository implements DepartmentDao { @Override public Listlist() { return dates; } public boolean delete(Integer departmentCode) { boolean flag = true; int index = -1; for (int i = 0; i < dates.size(); i++) { Department dept = dates.get(i); if (dept.getDeptCode().equals(departmentCode)) { index = i; flag = false; break; } } if (!flag) { if (index >= 0) { dates.remove(index); return true; } return false; } return false; } public boolean add(Department department) { for (Department dept : dates) { if (dept.getDeptCode().equals(department.getDeptCode())) { return false; } } dates.add(department); return true; }}
5. 主程序
创建一个主程序,用于接收用户命令并执行操作:
package com.yu.test;import java.util.List;import java.util.Scanner;public class DepartmentRun { private static Scanner scan = new Scanner(System.in); public static void main(String[] args) { DepartmentDao departmentDao = new DepartmentDaoImpl(); while (true) { System.out.println("欢迎使用宗门各部管理系统"); System.out.println("A. 查看部门列表"); System.out.println("B. 添加部门信息"); System.out.println("C. 注销部门"); System.out.println("请输入指令:"); String str = scan.next(); if ("B".equalsIgnoreCase(str)) { System.out.println("请输入部门编号"); int code = scan.nextInt(); System.out.println("请输入部门名称"); String deptName = scan.next(); System.out.println("请输入首领姓名"); String userName = scan.next(); Department dept = new Department(code, deptName, userName); boolean flag = departmentDao.add(dept); if (flag) { System.out.println("添加成功"); } else { System.out.println("编号重复,添加失败"); } } else if ("C".equalsIgnoreCase(str)) { System.out.println("请输入部门编号"); int code = scan.nextInt(); boolean flag = departmentDao.delete(code); if (flag) { System.out.println("删除成功"); } else { System.out.println("未找到编号"); } } else { System.out.println("您输入的指令有误,请重新输入"); System.out.println(); System.out.println(); System.out.println("================="); } } }}
发表评论
最新留言
不错!
[***.144.177.141]2025年05月05日 12时49分39秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
什么是5G?居然有人用漫画把它讲得如此接地气!
2019-03-12
Spring cloud --分布式配置中心组件Spring Cloud Config
2019-03-12
UE4接入Android第三方库2——通过JIN与GameActivity通信
2019-03-12
Unity Job System 2——并行处理数据
2019-03-12
spark概述
2019-03-12
JavaScript 知识梳理[一] 变量类型,浅拷贝,深拷贝
2019-03-12
pip命令 failed to create process.
2019-03-12
做SMTP客户端遇报错:535 Error
2019-03-12
Python3的修改
2019-03-12
SQL基础学习(六)- MySQL的insert语句
2019-03-12
Linux kernel pwn --- CSAW2015 StringIPC
2019-03-12
2020 05 02 记录思考
2019-03-12
2020-05-31 py执行时超时控制
2019-03-12
一段强大的shellcode
2019-03-12
双链表相加问题
2019-03-12
GB2312-80 汉字机内码
2019-03-12
n的a进制数
2019-03-12
配置jdk的环境变量
2019-03-12
echo命令的颜色及同行显示控制
2019-03-12