一、如何读取Properties文件
1、创建一个名为ReadingProperties的类
2、创建一个.propertise属性的文件,创建的方式参考“二”中步骤
3、写入如下代码
package introduction8; import java.io.FileInputStream; import java.nio.file.Path; import java.util.Properties; //读取java中的属性文件,java中有一个写好的类,名叫Properties /*Properties是一个配置文件,主要作用是通过修改配置文件可以方便的修改代码中的参数, * 不用改.class文件就可以灵活的变更参数,.java文件编译为.class文件以后,无法通过 * 反编译找到原文件,那么,在java类中某个参数变更就很难灵活的实现参数的修改,当如果通过 * properties就可以实现修改,减少代码的维护成本,提高开发的效率。 */ public class ReadingProperties { public static void main(String[] args) { //后面的路径为创建的.properties属性的文件路径 String path = "C:\\Users\\Administrator\\eclipse-workspace\\JavaTutorial\\src\\introduction8\\test.propertise"; //创建一个Properties对象 Properties prop = new Properties(); //需要用到文件读取流这个类,创建一个文件读取流对象,用于读取本地文件中的字节数据 FileInputStream fs = new FileInputStream(path); } }
在eclipse中下面的代码会出现异常,自检未通过:
鼠标移动到报错的代码上显示如下
此处直接抛出异常
4、终极代码:
package introduction8; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.nio.file.Path; import java.util.Properties; import java.util.jar.Attributes.Name; //读取java中的属性文件,java中有一个写好的类,名叫Properties /*Properties是一个配置文件,主要作用是通过修改配置文件可以方便的修改代码中的参数, * 不用改.class文件就可以灵活的变更参数,.java文件编译为.class文件以后,无法通过 * 反编译找到原文件,那么,在java类中某个参数变更就很难灵活的实现参数的修改,当如果通过 * properties就可以实现修改,减少代码的维护成本,提高开发的效率。 */ public class ReadingProperties { public static void main(String[] args) throws IOException { //后面的路径为创建的.properties属性的文件路径 String path = "C:\\Users\\Administrator\\eclipse-workspace\\JavaTutorial\\src\\introduction8\\test.propertise"; //创建一个Properties对象 Properties prop = new Properties(); //需要用到文件读取流这个类,创建一个文件读取流对象,用于读取本地文件中的字节数据 FileInputStream fs = new FileInputStream(path); /*输入流中读取属性列表,读取InputStream文件,上面创建对象时将异常直接抛出, 因此此处也会报异常,直接抛出异常 */ prop.load(fs); //用Properties中的getProperty方法在file中用指定的键,搜索值 System.out.println(prop.getProperty("name")); System.out.println(prop.getProperty("course")); } }
打印结果为,成功读取到属性文件中的值:
二、创建FIile文件
eclipse中创建一个文件:File---》NEW---》File---》在File name中输入文件名(文件名必须用.propertise,否则读取会出错)为后缀,本文演示中取名为test.propertise---》Finish。
三、如何定义FIile文件
使用键值对的形式
左边是键,右边是值,代码中如果想访问java这个值的话,直接访问course就可以了,我们也可以很方便的将java这个值改变,列如改为Python,那么代码在调用course这个键时,访问就会由java变为Python这个值,这样就能灵活的修改参数值了。