浏览 1383 次
锁定老帖子 主题:java中的Properties类疑惑
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-10-14
今天有人问怎么把属性文件中的键对值存储到集合中,本人想到的就只有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 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |