章节六、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 ...
随机推荐
- Linux 用脚本编写搭建yum本地仓库
Linux 用脚本编写搭建yum本地仓库 源码如下: #!/bin/bash #该脚本用于自动化搭建本地yum仓库 #挂载光盘 #作者:雨中落叶 #博客:https://www.cnblogs.com ...
- vlookup函数基本使用--如何将两个Excel表中的数据匹配;excel表中vlookup函数使用方法将一表引到另一表
vlookup函数基本使用--如何将两个Excel表中的数据匹配:excel表中vlookup函数使用方法将一表引到另一表 一.将几个学生的籍贯匹配出来‘ 二.使用查找与引用函数 vlookup 三. ...
- MySQL联合索引VS单列索引
MySQL联合索引VS单列索引 以一个一千万数据量的表格为例 1. 建表建索引 USE foo; DROP TABLE IF EXISTS tmp; CREATE TABLE tmp ( id INT ...
- 拿到BAT等大厂offer以后,我发现了关于秋招的一些真相
关于秋招的一些真相 微信公众号[程序员江湖] 作者陆小凤,985 软件硕士,阿里 Java 研发工程师,在技术校园招聘.自学编程.计算机考研等方面有丰富经验和独到见解,目前致力于分享程序员干货和学 ...
- 对requestAnimationFrame的一点理解
假设一个web页面为60fps(fps意为frame per second),这意为着这个页面每秒钟能重新渲染60次,60帧/1000ms换算过来约为16.6ms/帧. requestAnimatio ...
- SQL语句方法语法总结(一)
1.distinct:返回不重复.唯一的值. select distinct col_name from tbl_name --表中的col_name 列的值 如果有10条一样的,仅返回一条. 2.w ...
- Deep Learning中的Large Batch Training相关理论与实践
背景 [作者:DeepLearningStack,阿里巴巴算法工程师,开源TensorFlow Contributor] 在分布式训练时,提高计算通信占比是提高计算加速比的有效手段,当网络通信优化到一 ...
- 翻译:XtraDB/InnoDB中的AUTO_INCREMENT处理方式(已提交到MariaDB官方手册)
本文为mariadb官方手册:XtraDB/InnoDB中的AUTO_INCREMENT处理方式的译文. 原文:https://mariadb.com/kb/en/auto_increment-han ...
- OJ:访问 const 成员函数问题
Description 补足程序使得其输出结果是: 40 #include <iostream> #include <string> using namespace std; ...
- μC/OS-II 任务就绪表及任务调度
任务调度 多任务操作系统的核心工作就是任务调度. 所谓调度,就是通过一个算法在多个任务中确定该运行的任务,做这项工作的函数就叫做调度器. μC/OS-II 进行任务调度的思想是 "近似地每时 ...