今天有人问怎么把属性文件中的键对值存储到集合中,本人想到的就只有Properties类了,个人感觉Properties类类似Map集合(Hashtable吧,一样的枚举遍历
Properties:
Enumeration en=p.propertyNames();
while(en.hasMoreElements()){
String userName=(String) en.nextElement();
String userPass=p.getProperty(userName);
System.out.println(userName+"------->"+userPass);
}
,有关Map集合看我其他java博客)
以下是一些有关知识点记录:
Java中系统属性就是Java的环境变量
System.getProperties()方法会返回系统属性值。
System.getProperty()方法返回一个String来代表系统属性。
在命令行中可用java –D来加入一个系统属性
Properties类实现了从名字到值的映射
propertyNames()方法返回一个包含所有属性名的Enumeration对象
getProperty()方法返回一个代表该属性值的字符串
使用load()或store()方法能从文件读入属性集或将属性集写入文件
Properties在java.util包中
CRUD实例:
三个类(以前写的,也不知道错没错。。。请大虾们多多担待。。。)
package com.softeem.properties;
import java.io.File;
import java.io.IOException;
public class User {
public static void main(String[] args){
System.out.println("*************欢迎进入我的系统*************");
new Oper().getTime();
setFile();
IOUni io=new IOUni();
int number=io.dowork();
io.number(number);
}
public static void setFile(){
File file=new File(Oper.PATH);
if(!file.isFile()){
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
package com.softeem.properties;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Enumeration;
import java.util.Properties;
public class Oper {
public static final String PATH="D:/user.txt";
//返回Properties对象
public Properties getProperties(){
Properties p=new Properties();
InputStream is=null;
try {
is=new FileInputStream(PATH);
p.load(is);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
if(is!=null){
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return p;
}
//写入文件
public void setProperties(Properties p){
PrintStream ps=null;
try {
ps=new PrintStream(new File(PATH));
p.list(ps);
} catch (FileNotFoundException e) {
e.printStackTrace();
}finally{
if(ps!=null){
ps.close();
}
}
}
//遍历文件内容
public void setEunmration(Properties p){
Enumeration en=p.propertyNames();
while(en.hasMoreElements()){
String userName=(String) en.nextElement();
String userPass=p.getProperty(userName);
System.out.println(userName+"------->"+userPass);
}
getTime();
}
//每次操作后的提示内容
public void information(){
System.out.println("操作后的文件内容为:");
}
//删除文件数据
public void delete(){
Properties p=getProperties();
p.remove("a");
p.remove("b");
setProperties(p);
information();
setEunmration(p);
}
//增加数据操作
public void add(){
Properties p=getProperties();
p.setProperty("小龙", "19");
p.setProperty("波哥", "24");
setProperties(p);
information();
setEunmration(p);
}
//修改文件属性
public void upData(){
Properties p=getProperties();
p.setProperty("小龙", "haha");
p.setProperty("波哥", "lala");
setProperties(p);
information();
setEunmration(p);
}
//文件数据打印
public void list(){
Properties p=getProperties();
setEunmration(p);
}
//帮助提示问候语
public void help(){
getTime();
System.out.println("谢谢您的使用!");
}
//系统当前时间
public void getTime(){
Date date=new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yy/MM/dd HH:mm:ss E");
System.out.println(sdf.format(date));
}
}
package com.softeem.properties;
import java.util.Scanner;
public class IOUni {
public void number(int number){
switch(number){
case 1: new Oper().list();dowork();
case 2: new Oper().add();dowork();
case 3: new Oper().upData();dowork();
case 4: new Oper().delete();dowork();
case 5: new Oper().help();dowork();
case 6: System.out.println("欢迎下次再来!");
new Oper().getTime();break;
default: System.err.println("输出的数据不正确--请重新输出!");
dowork();
}
}
public int dowork(){
Scanner s=new Scanner(System.in);
// System.out.println("*************欢迎进入我的系统*************");
System.out.println("|****************************************|");
System.out.println("请选择要输出的功能选项:");
System.out.println("|1.用户列表 2.增加用户 3.修改密码 4.删除用户|");
System.out.println("|5.帮助 6.退出系统|");
System.out.println("|****************************************|");
String str=s.nextLine();
int number=Integer.parseInt(str);
return number;
}
}
有错误的地方请大虾们指点指点哈1
分享到:
相关推荐
1. **类文件**: 类文件是Java程序的基本构建块,它们定义了程序中的类和接口。每个类或接口通常包含在单独的`.java`文件中,并且文件名与类或接口的名字相同。例如,一个名为`User`的类会被定义在一个名为`User.java...
通过观看视频,学生能够更直观地理解开发流程,同时视频中的讲解也能解答很多实际操作中的疑惑。 "5-资料"这部分可能是与项目相关的参考资料,比如Java编程指南、Web开发教程、数据库管理手册等。这些资料有助于...
你可以通过继承Ant提供的Task类,创建自己的Java类来实现特定功能。 **第三方Ant任务** 除了官方提供的任务,Ant社区还发展出大量的第三方任务,覆盖了各种用途,如数据库操作、文件处理、部署等,极大地丰富了Ant...
标题中的"jdk-8u162-linux-x64.tar"是一个Java Development Kit (JDK) 的版本,针对Linux操作系统的64位架构。JDK是Oracle公司提供的一个用于开发和运行Java应用程序的重要工具集,它包含了Java编译器、Java虚拟机...
同时,鼓励学习者交流和提问,暗示了作者愿意提供额外的支持和解答,这对于学习过程中的疑惑解答是非常有益的。 【标签】"SpringBoot SpringBoot毕业设计源码 毕业设计"强调了这个项目的核心技术栈和其应用场景。...
在"SchoolSystem-master"这个项目中,我们可以预见到源代码、配置文件、文档等各类资源。源代码文件(如Java源码)将揭示系统实现的具体逻辑;配置文件(如XML或properties文件)用于设定系统环境和参数;文档可能...
SpringBoot是Java开发领域中一个非常重要的框架,它简化了Spring应用程序的初始设置和配置,使得开发者能够快速构建可运行的应用程序。这个"SpringBoot学习大纲.zip"压缩包提供了全面的学习资源,包括配置文件、示例...
2. **启动类**(如Application.java):包含@SpringBootApplication注解,用于启动Spring Boot应用。 3. **Maven或Gradle构建文件**(pom.xml或build.gradle):定义项目依赖库,管理构建过程。 4. **Controller层**...
通常在SSM或SpringBoot项目中,文件可能包括:pom.xml(Maven项目配置文件),application.properties或.yml(SpringBoot配置文件),源代码目录(src/main/java和src/main/resources),数据库配置文件,以及可能的...
SpringBoot是Java开发中的一个流行框架,以其快速启动和简化配置而著名,常用于构建微服务架构。这个平台可能是为了帮助货车司机更高效地匹配和接收运输任务,促进物流行业的信息化。 【描述】"SpringBoot毕业设计...
然后,在application.properties文件中开启shutdown endpoint: ```properties #启用shutdown endpoints.shutdown.enabled=true #禁用密码验证 endpoints.shutdown.sensitive=false ``` 最后,我们可以使用curl向...