java过去配置文件的值_java对.properties配置文件操作

实现运用Java.util.Properties来进行对.properties配置文件操作。

配置文件实例:如debug.properties

#Tue Mar 21 15:46:17 CST 2017

#key=value

remote.debug.prot=7451

第一步写个获取文件路径的外部方法

//-in- String filePath:配置文件名如debug.properties--

//-return- 文件类对象--

public static File getFile (String filePath) throws IOException{

try{

ClassLoader classLoader = Thread.currentThread()

.getContextClassLoader();

URL url = classLoader.getResource(filePath);

return new File(url.toURI());

}catch(Exception e){

LOG.error("配置文件错误",e);

return null;

}

}

2.1根据key获取value值方法

//-in- String filePath:配置文件名如debug.properties--

//-in- key:键值如remote.debug.prot--

//-return- value值--

public static String getValueByKey(String filePath, String key) throws IOException{

try {

File fileURI = PropertiesUtil.getFile(filePath);

InputStream in = new BufferedInputStream (new FileInputStream(fileURI));

Properties pps = new Properties();

pps.load(in);

String value = pps.getProperty(key);

return value;

}catch (Exception e) {

LOG.error("初始化配置文件失败",e);

return null;

}

}

2.2得到所有HashMap方法

//-in- String filePath:配置文件名如debug.properties--

//-return-  HashMap: HashMap--

public static HashMap getAllProperties(String filePath) throws IOException {

HashMap proper = new HashMap();

try{

File fileURI = PropertiesUtil.getFile(filePath);

Properties pps = new Properties();

InputStream in = new BufferedInputStream(new FileInputStream(fileURI));

pps.load(in);

Enumeration> en = pps.propertyNames(); //得到配置文件的名字

while(en.hasMoreElements()) {

String strKey = (String) en.nextElement();

String strValue = pps.getProperty(strKey);

proper.put(strKey, strValue);

}

}catch(Exception e)

{

LOG.error("获取所有配置文件信息失败",e);

return null;

}

return proper;

}

2.3根据key获取value值方法

//-in- String filePath:配置文件名如debug.properties--

//-in- pKey:  键值如remote.debug.prot--

//-in- pValue: 结果值如 2000--

//-return- 状态值--

public static String writeProperties (String filePath, String pKey, String pValue) throws IOException {

try{

File fileURI = PropertiesUtil.getFile(filePath);

Properties pps = new Properties();

InputStream in = new FileInputStream(fileURI);

pps.load(in);

OutputStream out = new FileOutputStream(fileURI);

pps.setProperty(pKey, pValue);

pps.store(out, "");

return TRUE;

}catch(Exception e)

{

LOG.error("插入配置文件失败", e);

return null;

}

}

2.3写入所有key,value值方法

//-in- String filePath:配置文件名如debug.properties--

//-in- HashMap:  键值对HashMap如remote.debug.prot=900--

//-return- 状态值--

public static String setAllProperties(String filePath,HashMap kv) throws IOException {

try{

File fileURI = PropertiesUtil.getFile(filePath);

Properties pps = new Properties();

InputStream in = new FileInputStream(fileURI);

pps.load(in);

OutputStream out = new FileOutputStream(fileURI);

Iterator> iter = kv.entrySet().iterator();

while (iter.hasNext()) {

@SuppressWarnings("rawtypes")

Map.Entry entry = (Map.Entry) iter.next();

Object key = entry.getKey();

Object val = entry.getValue();

pps.setProperty((String)key, (String)val);

pps.store(out, "");

}

}catch(Exception e)

{

return null;

}

return TRUE;

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/465320.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AS3.0中的显示编程(末篇)-- 滤镜(下)

剩下的三种滤镜,因为我自己也不是很懂矩阵啊这些的,只能做些简单的范例和说明了,抱歉!颜色矩阵滤镜、卷积滤镜、置换图滤镜这三种滤镜只能通过AS代码实现。如果说上面的六种滤镜,只是在原图的基础上做些简单的修改&…

这几个朋友,我记得

‍‍昨天的中秋节是在公司加班度过的,末了,在群里看到有人说要是今天还有人加班的话,那他一定是真正的卷王,好了,我是那个中秋节加班的卷王。早上打车去公司,快到公司楼下的时候,司机师傅跟我说…

HOWTO:如何修改InstallShield的运行环境

版权声明: 可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息。在InstallShield中,存在一些运行环境的变量,如果我们做了某种选择,之后可能将不再提示,说不定什么时候又想改回来呢,找不到地…

杭电java期末试卷2015_2014年杭州电子科技大学Java期末试卷.doc

2014年杭州电子科技大学Java期末试卷.doc杭州电子科技大学学生考试卷( A )卷考试课程Java语言程序设计考试日期2014年 6月 16日成 绩课程号教师号任课教师姓名考生姓名学号(8位)年级专业注意:所有答案均写在答卷上,写在试卷上无效;(一)单选题(每题2分&am…

深入理解Java线程池:ThreadPoolExecutor

线程池介绍 在web开发中,服务器需要接受并处理请求,所以会为一个请求来分配一个线程来进行处理。如果每次请求都新创建一个线程的话实现起来非常简便,但是存在一个问题: 如果并发的请求数量非常多,但每个线程执行的时间…

看嵌入式大神直播,送开发板!

这是一场嵌入式学习者不可错过的直播……以往拿到一个开发板,还要花费时间找资料,向有经验的朋友请教测试过程现在,在捷客直播间,嵌入式大神现场教学,手把手教你如何使用开发板开发一款智能设备9月26日晚,看…

iphone上如何绘制饼图(使用CGContextAddArc)(原创)

CGContextAddArc是一个比较强大的函数,建议仔细看一下iphone的开发文档。 CGContextAddArc(CGContextRef c, CGFloat x, CGFloat y, CGFloat radius, CGFloat startAngle, CGFloat endAngle, intclockwise) CGContextRef: 图形上下文x,y: 开始画的坐标radius: 半径s…

java实现itchat_GitHub - Xiazki/itchat4j: wechatbot 的java实现,简单搭建了基本框架和实现了扫码登陆,具体网页微信api请参考...

itchat4j 微信自动回复机器人-------------- --------------- ---------------| | | | | || Get UUID | | Get Contact | | Status Notify || | | | | |------------- -------^------- -------^-------| | || ------- --------| | |-------v------ ------------- -------------…

华为宣布:免费培养8000名开发者! 学习免费!实验免费!考证免费!

很多朋友都想储备一些不同领域的新技术以便未来有更好的发展但目前市面上各种教程质量良莠不齐而且想要掌握高阶的开发技术需要耗费大量的时间和精力So,华为云特别推出 互联网技能加油站包含物联网、Python、AI等五大领域,核心技术赋能构建全面技能体系现…

ruby

官网 http://www.ruby-lang.org/en/ https://ruby-china.org/ DOC http://ruby-doc.com/docs/ProgrammingRuby/ http://ruby-doc.org/core-2.2.1/ 六个最酷的Ruby on Rails项目 https://www.ctocio.com/ccnews/20453.html Rake: Ruby中任务构建工具rake的入门 https://www.cnbl…

java 两个点球面距离_计算球面两点间距离实现Vincenty+Haversine

vincenty公式 精度很高能达到0.5毫米,但是很慢。Haversine公式半正矢公式,比vincenty快,精度没有vincenty高,也长使用。-------------------------------------------openlayers中实现的Vincenty-------------------------------…

送20个鼠标垫

之前发的朋友圈,里面晒了一个鼠标垫,大家都挺喜欢的,这次决定送30个给大家,没有什么规则,直接抽奖就好了。在下方的公众号回复【1001】获取抽奖小程序。因为之前好几次抽奖,因为时间比较长导致大家忘记填写…

angularjs的表单验证

angularjs的表单验证 废话&#xff1a;angular的热度在减小&#xff0c;但是老项目依旧是angular的&#xff0c;就是不能丢&#xff0c;得会 干活直接上代码  <!DOCTYPE html> <html> <head><!-- CSS --><link rel"stylesheet" href&qu…

越老越值钱,除了程序员!

-我们见过太多靠经验、资历“镀金”的职业。司机、教师、医生、律师、会计……这些职业的薪资待遇、社会地位、声誉等等都会随着从业时间的增长而变得越来越高、越来越好。“老”这个字&#xff0c;对于这类的职业来说&#xff0c;更像是褒奖。大家对于“资深”的他们&#xff…

Visual Studio 2010授权修改

为什么80%的码农都做不了架构师&#xff1f;>>> 参见以下步骤&#xff1a; 32位的系统中&#xff0c;修改以下注册表键值 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\Registration\UserName HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Curr…

Net Core平台灵活简单的日志记录框架NLog+SqlServer初体验

Net Core平台灵活简单的日志记录框架NLogSqlServer初体验 前几天分享的"[Net Core平台灵活简单的日志记录框架NLogMysql组合初体验][http://www.cnblogs.com/yilezhu/p/9416439.html]" 反响还行。有网友就说有了NLogMySql的组合&#xff0c;那如果我是用SqlServer怎么…

从单片机步入Linux之文件系统的构建

大家好&#xff0c;我是情报小哥&#xff01;本文为【从单片机步入嵌入式Linux】系列文章的第四篇文章&#xff0c;前面三篇大家有时间也可以回头阅读一下&#xff0c;本系列文章的很多知识我都会从裸机开发和理解的角度来分析&#xff0c;帮助大家迅速理解Linux系统相关的知识…

pythongui界面小程序_python界面小程序

Python支持多種圖形界面的第三方庫&#xff0c;包括&#xff1a;TkwxWidgetsQtGTK等等。但是Python自帶的庫是支持Tk的Tkinter&#xff0c;使用Tkinter&#xff0c;無需安裝任何包&#xff0c;就可以直接使用。本章簡單介紹如何使用Tkinter進行GUI編程。Tkinter我們來梳理一下概…

关于Linq to SQL 的“异常详细信息: System.InvalidCastException: 指定的转换无效。”

开发环境&#xff1a;VS2010,SQL Server2005,Windows7,使用LINQ to SQL作为ORM 运行环境&#xff1a;Windows2003(IIS6),.NET 3.5 SP1,SQL Server2000 症状&#xff1a;开发环境下一切正常&#xff0c;在运行环境中出现如下错误&#xff1a; 代码 指定的转换无效。 说明: 执行当…

由百度 “PHP薪资” 引发的思考

昨天晚上睡觉的时候百度了一下 “PHP薪资”&#xff0c;看到了各种各样的答案&#xff0c;从百度知道到知乎&#xff0c;再到各个论坛……答案也是从 2k-16k 不等&#xff08;不过说实话&#xff0c;2k是吓到我了&#xff09;&#xff0c;其中一些答案说到了在中国从事某一行业…