章节六、3-读取Properties属性文件
一、如何读取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这个值,这样就能灵活的修改参数值了。
章节六、3-读取Properties属性文件的更多相关文章
- Java学习笔记——JDBC读取properties属性文件
Java 中的 properties 文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件. 文件的内容是格式是"键=值"(key-valu ...
- 读取properties属性文件
1.通过类加载器加载 InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("Chap ...
- 读取properties属性文件——国际化
public class PropertiesInfo { /** * PropertiesInfo实例 */ private static PropertiesInfo pi = null; pri ...
- Java读取利用java.util类Properties读取resource下的properties属性文件
说明:upload.properties属性文件在resources下 import java.io.IOException;import java.io.InputStream;import jav ...
- Code片段 : .properties属性文件操作工具类 & JSON工具类
摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “贵专” — 泥瓦匠 一.java.util.Properties API & 案例 j ...
- 解决读写properties属性文件
package com.kzkj.wx.utils; import java.io.BufferedReader; import java.io.File; import java.io.FileIn ...
- java:Properties属性文件概念
java:Properties属性文件概念 在java之前的国际化程序中提出了一个属性文件的概念,属性文件的后缀是:*.properties,那么在java中提供了意个属性文件的专门操作类,Prope ...
- 使用JAVA读写Properties属性文件
使用JAVA读写Properties属性文件 Properties属性文件在JAVA应用程序中是经常可以看得见的,也是特别重要的一类文件.它用来配置应用程序的一些信息,不过这些信息一般都是比较少的数 ...
- 集合类——Map集合、Properties属性文件操作
1.Map集合 Collection集合的特点是每次进行单个对象的保存,若要对一对对象来进行保存就只能用Map集合来保存.即Map集合中一次可以保存两个对象,且这两个对象的关系是key = value ...
随机推荐
- Spring面试底层原理的那些问题,你是不是真的懂Spring?
1.什么是 Spring 框架?Spring 框架有哪些主要模块?Spring 框架是一个为 Java 应用程序的开发提供了综合.广泛的基础性支持的 Java 平台.Spring帮助开发者解决了开发中 ...
- Xamarin.Android 利用Fragment实现底部菜单
效果图: 第一步:添加引用 引用 Crosslight.Xamarin.Android.Support.v7.AppCompat 这个包. 第二步:绘制Main和Fragment界面 fg_home. ...
- .Net #if DEBUG调试模式代码使用
#if DEBUG Console.WriteLine("DEBUG:11111111111"); #else Console.WriteLine(" ...
- 【原】以setTimeout来聊聊Event Loop
平时的工作中,也许你会经常用到setTimeout这个方法,可是你真的了解setTimeout吗?本文想通过总结setTimeout的用法,顺便来探索javascript里面的事件执行机制. setT ...
- CNN 模型压缩与加速算法综述
本文由云+社区发表 导语:卷积神经网络日益增长的深度和尺寸为深度学习在移动端的部署带来了巨大的挑战,CNN模型压缩与加速成为了学术界和工业界都重点关注的研究领域之一. 前言 自从AlexNet一举夺得 ...
- Java 并发编程-再谈 AbstractQueuedSynchronizer 3 :基于 AbstractQueuedSynchronizer 的并发类实现
公平模式ReentrantLock实现原理 前面的文章研究了AbstractQueuedSynchronizer的独占锁和共享锁,有了前两篇文章的基础,就可以乘胜追击,看一下基于AbstractQue ...
- 面向连接的TCP概述
TCP连接概述 TCP是因特网运输层面向连接的(connection-oriented)可靠运输协议.之所以说它是面向连接的是因为 一个应用进程向另外一个应用进程发送数据之前,两个进程必须先 ...
- SpringBoot(12) SpringBoot创建非web应用
在Spring Boot中,要创建一个非Web应用程序,实现CommandLineRunner并覆盖run()方法 @SpringBootApplication public class Spring ...
- Git 撤销所有未提交(Commit)的内容
撸了好多代码,但是突然设计改了(~~o(>_<)o ~~):或者引入个第三方库,后来又发现用不着,想删掉,但文件太多了(比如几百个):那,怎么办呢,都不想了...Git 比人聪明,所以能很 ...
- Perl中的自增、自减
自增和自减 perl也支持数值类型的自增和自减操作.不仅如此,还支持字符.字符串的自增.自减. 如果自增(++)和自减(--)符号放在数值的前面,则先增减,再返回: 如果自增(++)和自减(--)符号 ...