1.通过代码了解一哈:

 package com.etc;

 import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
/*
* 作用:读写资源配置文件
* 方法:
* 1.存取方法
* setProperty(String key,String value);键与值只能为字符串
* getProperty(String key);存在则返回值,不存在返回空
* getProperty(String key,defaultValue);如果不存在返回默认值defaultValue
* 2.存储到文件中
* (1)生成的文件后缀名为.properties;
* store(OutputStream out,String comments);
* store(Writer writer,String comments);
* (2)生成的文件后缀名为.xml
* storeToXML(OutputStream out,String comments);默认UTF-8字符集
* storeToXML(OutputStream out,String comments,String encoding);指定字符集
* 3.从文件中读取内容
* (1).properties文件读取
* load(InputStream inStream);
* load(Reader reader)
* (2).xml文件读取
* loadFromXML(InputStream inStream)
* 4.相对路径与绝对路径:
* 相对路径:当前项目,工程
* 绝对路径:具体盘符
* 5.类路径加载资源文件
* 类所在的根路径uri:
* (1)类名.class.getResourceAsStream("/uri");
* (2)Thread.currentThread().getContextClassLoader().getResourceAsStream("/uri");
*/
public class TestProperties { public static void main(String[] args) throws FileNotFoundException, IOException { //利用Properties存取信息,以后可以用来改进连接数据库的方法,提高效率
Properties pro=new Properties();
//注册驱动
pro.setProperty("driver", "com.mysql.jdbc.Driver");
//获取连接:url:jdbc:mysql://连接主机IP:端口号/数据库名字
pro.setProperty("url", "jdbc:mysql://localhost:3306/TEST");
//用户名与密码
pro.setProperty("password", "121515");
pro.setProperty("user", "root");
//获取value
System.out.println(pro.getProperty("url","空"));
System.out.println(pro.getProperty("test","空"));
//存储到桌面
pro.store(new FileOutputStream(new File("C:/Users/Administrator/Desktop/文件1.properties")), "ABC");
pro.storeToXML(new FileOutputStream(new File("C:/Users/Administrator/Desktop/文件2.xml")), "测试文件","GBK");
pro.storeToXML(new FileOutputStream(new File("文件3.xml")), "测试文件","GBK"); //从存储文件中获取信息并存入pro2对象中
Properties pro2=new Properties();
pro2.load(new FileInputStream (new File("C:/Users/Administrator/Desktop/文件1.properties")));
System.out.println("文件读取内容为:"+pro2.getProperty("url"));
} }

2.效果截图:

控制台输出:

项目:

桌面:

打开文件:

接下来利用面向对象的理念实现一个教师信息写入文件的小案例:

1.新建一个实体类,用于存放数据

 package com.test;
//实体类用于存放数据
public class Teacher {
private String name;
private int id;
private String date; public Teacher(String name, int id, String date) {
super();
this.name = name;
this.id = id;
this.date = date;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
@Override
public String toString() {
return "姓名:"+name+" 编号:"+id+" 入教时间:"+date;
} }

2.测试类,场景模拟

 package com.test;

 import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties; /*
* 简单运用面向对象实现教师信息写入配置文件加以保存
* 总共分为两步:
* 1.输入数据
* 2.处理数据并将其存储在桌面的文件下
*/
public class teacherInfoWriteIn { public static void main(String[] args) throws FileNotFoundException, IOException {
//获取数据并将数据存取至桌面的文件1.xml文件中
Properties pro=setData();
pro.storeToXML(new FileOutputStream(new File("C:/Users/Administrator/Desktop/Test1.xml")), "教师信息表","GBK");
//将桌面上的文件1里面的信息获取出来
Properties pro2=new Properties();
pro2.loadFromXML(new FileInputStream(new File("C:/Users/Administrator/Desktop/Test1.xml")));
System.out.println(pro2.getProperty("张老师信息"));
System.out.println(pro2.getProperty("李老师信息"));
System.out.println(pro2.getProperty("王老师信息"));
System.out.println(pro2.getProperty("刘老师信息"));
}
//数据初始化输入
public static Properties setData() {
Properties pro=new Properties();
Teacher t1=new Teacher("张三",11152,"2004-5");
Teacher t2=new Teacher("李四",13157,"2007-4");
Teacher t3=new Teacher("王五",12456,"1998-5");
Teacher t4=new Teacher("刘六",15478,"1999-5");
pro.put("张老师信息",t1.toString());
pro.put("李老师信息",t2.toString());
pro.put("王老师信息",t3.toString());
pro.put("刘老师信息",t4.toString());
return pro;
}
}

效果截图:

控制台:

桌面:

ps:文章待完善,先简单了解学习一下,如有问题欢迎大佬指点。

java-初识Properties的更多相关文章

  1. Android中使用java.util.Properties犯的错

    今天尝试使用java.util.Properties来保存应用配置,然而遇到了好几个问题,对于熟悉此内容的来说可能都是猪一样的错误,但难免有像我一样的新手再次遇到,希望此文能有所帮助. 错误1 jav ...

  2. java 读写properties (配置)文件

    Properties属性文件在Java应用程序中是经常可以看得见的,也是特别重要的一类文件.它用来配置应用程序的一些信息,不过这些信息一般都是比较少的数据,没有必要使用数据库文件来保存,而使用一般的文 ...

  3. java分享第十六天( java读取properties文件的几种方法&java配置文件持久化:static块的作用)

     java读取properties文件的几种方法一.项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1.通过java.util.Properties读取Propert ...

  4. java读写Properties属性文件公用方法

    Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件. 它提供了几个主要的方法: 1. getProperty ( String ...

  5. Java关于Properties用法(二)——替换配置文件中的参数

    上一章讲了配置文件的基本用法,虽然上一章已经可以解决一些需求,但还不些不足之处.假如,配置文件里面的字符串有一部分需要经常变动,另外一些不需要,上一章的方法就不方便了,所以这章主要讲如何在配置文件中使 ...

  6. java读取.properties文件

    在web开发过程中,有些配置要保存到properties文件里,本章将给出一个工具类,用来方便读取properties文件. 案例: 1:config.properties文件 name=\u843D ...

  7. java 读取properties文件

    import java.io.IOException; import java.io.InputStream; import java.util.Properties; public class Ge ...

  8. java 读写properties

    网速不好:先贴上资料: Java配置文件Properties的读取.写入与更新操作 [Spring] - Property注入 http://www.360doc.com/content/14/073 ...

  9. java读取properties配置文件总结

    java读取properties配置文件总结 在日常项目开发和学习中,我们不免会经常用到.propeties配置文件,例如数据库c3p0连接池的配置等.而我们经常读取配置文件的方法有以下两种: (1) ...

  10. Java关于Properties用法的总结(一)

    最近项目中有一个这样的需求,要做一个定时任务功能,定时备份数据库的操表,将表数据写入txt文件.因为文件的读写路径可能需要随时改动,所以写死或者写成静态变量都不方便,就考虑使用配置文件,这里总结些配置 ...

随机推荐

  1. Oracle 的开窗函数 rank,dense_rank,row_number

    1.开窗函数和分组函数的区别 分组函数是指按照某列或者某些列分组后进行某种计算,比如计数,求和等聚合函数进行计算. 开窗函数是指基于某列或某些列让数据有序,数据行数和原始数据数相同,依然能曾现个体数据 ...

  2. DB2 数据库的安装配置及监控

    一.DB2简介 IBM公司研制的一种关系型数据库系统.DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于OS/2.Windows等平台下. DB2提供了高层次的数据利 ...

  3. 前端基础之BOM和DOM

    关于网页交互:BOM和DOM javaScript分为ECMAScript,DOM,BOM . BOM(Browser  object  Model)是指浏览器对象模型,它使JavaScript有能力 ...

  4. 仿微信的IM聊天时间显示格式(含iOS/Android/Web实现)[图文+源码]

    本文为原创分享,转载请注明出处. 1.引言 即时通讯IM应用中的聊天消息时间显示是个再常见不过的需求,现在都讲究用户体验,所以时间显示再也不能像传统软件一样简单粗地暴显示成“年/月/日 时:分:秒”这 ...

  5. [Swift]LeetCode81. 搜索旋转排序数组 II | Search in Rotated Sorted Array II

    Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. (i.e. ...

  6. [Swift]LeetCode259.三数之和较小值 $ 3Sum Smaller

    Given an array of n integers nums and a target, find the number of index triplets i, j, k with 0 < ...

  7. Kubernetes---pod--重启策略

    restartPolicy: Always: 默认 , 总是重启 OnFailure : 错误事重启 Never: 从来不重启 Default  to Always:

  8. Android studio的错误:radle sync failed: Cause: failed to find target android-21 :

    这个错误在Android studio中经常出现,特别是你在编译不同的app的时候,到底是什么原因会导致该错误产生呢? 首先看错误信息,是找不到目标android版本-21导致的,这就很明显了,你的目 ...

  9. [Reversing.kr] Easy_KeygenMe Writeup

    IDA打开.Main()函数就是关键算法 v6,v7,v8 是连续的 .可看成 L=[16,32,48].输入的name每位分别于L[]异或 得到的值存在v13.然后清空v9的值 ,输入Serial储 ...

  10. 13.Git分支-变基(rebase)、rebase VS merge

    1.变基的基本操作 在Git中整合来自不同分支的修改主要有两种方法:merge和rebase. 看下面的例子: 开发任务分叉到了两个不同的分支,并且都有了新的提交. 这时候我们可以使用 git mer ...