Properties操作如何保存到属性文件
作者:Zero摄氏度
这篇文章主要介绍了Properties操作保存到属性文件的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
1、系统属性
- Java中系统属性就是Java的环境变量
- System.getProperties()方法会返回系统属性值(Properties对象封装)
- Properties对象的getProperty()方法返回一个String来代表系统属性。
2、Properties类
- Properties类实现了从名字到值的映射
- Properties是存储键值对的。是hashtable(map接口下的类)接口下的类。key,value都是字符串
- getProperty()方法返回一个代表该属性值的字符串
- 使用load()或store()方法能从文件读入属性集或将属性集写入文件
- Properties在Java.util包内
3、Properties文件
存储数据时,不仅可以将数据存储到数据库中(虽然这是大多数人选择的做法)。同时,我们可以将数据保存在properties文件中。
这样的好处是,方便、安全,因为每个注册用户都有一个对应的properties文件,操作的系统内存,而不是数据库那样的外存,所以会相对安全,并发性也更好。
弊端是,如果设备断电后,数据将无法读取甚至可能损失。----但是一般如果使用这样方法存储的设备都会支持备用电源,足够时间去做好数据首尾工作。
4、Properties文件的读写操作
- 首先,我们并不能直接对properties文件进行操作,而是必须先将properties文件读到propertires对象上,然后通过对象去set或者get,最后再将对象保存到属性文件。这样就是读写操作的过程
只要涉及Properties的操作,大体可以分为以下三步:
演示代码
import java.util.*; import java.io.*; public class ReadPro { static Properties props; private String oracle_url,oracle_name,oracle_user,oracle_pwd; private String file_path,virtual_path; static { try { props = new Properties(); File f=new File(".\\OracleSetup.properties"); FileInputStream in = new FileInputStream(f); props.load(in); in.close(); } catch(IOException e) { System.out.println(e); } } public ReadPro() { this.oracle_url = this.props.getProperty("oracle_url"); this.oracle_name = this.props.getProperty("oracle_name"); this.oracle_user = this.props.getProperty("oracle_user"); this.oracle_pwd = this.props.getProperty("oracle_pwd"); this.file_path = this.props.getProperty("file_path"); this.virtual_path = this.props.getProperty("virtual_path"); } public void loadproper() { props.setProperty("oracle_user", "bush"); props.setProperty("password", "1234"); props.setProperty("age", "19"); props.setProperty("sex", "female"); props.setProperty("score", "99.9"); try{ FileOutputStream out = new FileOutputStream(".\\Bush.properties"); props.store(out, ".\\Bush.properties"); out.close(); } catch(IOException e) { System.out.println(e); } } public String getOracle_url() { return oracle_url; } public String getOracle_name() { return oracle_name; } public String getOracle_user() { return oracle_user; } public String getOracle_pwd() { return oracle_pwd; } public String getFile_path() { return file_path; } public String getVirtual_path() { return virtual_path; } public static void main(String args[]) { ReadPro rp = new ReadPro(); System.out.println("oracle_user="+rp.getOracle_user()); System.out.println("oracle_name = " + rp.getOracle_name()); System.out.println("oracle_pwd = " +rp.getOracle_pwd()); System.out.println("file_path = " +rp.getFile_path()); System.err.println("file_path = " +rp.getFile_path()); System.out.println("virtual_path = " +rp.getVirtual_path()); //存储Properties 到属性文件 rp.loadproper(); } }
将属性文件读到属性对象上
//new一个properties对象 Properties props = new Properties(); //新建一个输入流(属性文件),读取到properties对象里 File f=new File(".\\OracleSetup.properties"); //这个属性文件需要先创建(已经存在的) FileInputStream in = new FileInputStream(f); //读入对象 props.load(in); //关闭流 in.close();
对属性对象操作,将对象保存到属性文件
//对属性对象进行set操作。以键值对的方式set,前面是字段key,后面是值value props.setProperty("oracle_user", "bush"); props.setProperty("password", "1234"); props.setProperty("age", "19"); props.setProperty("sex", "female"); props.setProperty("score", "99.9"); try{ FileOutputStream out = new FileOutputStream(".\\Bush.properties");//这个属性文件可以是不存在的,不存在系统会去自动创建,如果已存在系统会先删除再创建 //将对象再保存到文件里 props.store(out, ".\\Bush.properties"); //关闭输出流 out.close(); } catch(IOException e) { System.out.println(e); }
5、一些操作
- 注册:将用户名、密码存到属性文件中
- 登录:通过用户名找到对应的属性文件,如果找到,将属性文件中的密码和输入的密码比对,如果一致就成功登录。成功后,将上一次的属性文件的金额读到moneybean中。
- 一系列存款取款等等操作,之后再将最后的余额set到属性对象,最后再将属性对象存储到属性文件中。
都离不开那三步。
到此这篇关于Properties操作如何保存到属性文件的文章就介绍到这了,更多相关Properties操作保存到属性文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!