项目中需要用到操作properties文件中的数据,记录一下

package com.bonc.savepic.save;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties; /**
* @Author clj
* @SinceDate 2019/3/26 17:05
* @Description
*/
public class PropertiesUtil { /**
* 获取Properties对象
* @return
*/
public static Properties getProperties(){
Properties properties = new Properties();
InputStream inputStream = null;
try {
//data.properties在resources目录下
inputStream = PropertiesUtil.class.getClassLoader().getResourceAsStream("data.properties");
properties.load(inputStream);
} catch (FileNotFoundException e) {
System.out.println("data.properties文件未找到!");
} catch (IOException e) {
System.out.println("出现IOException");
} finally {
try {
if (null != inputStream){
inputStream.close();
}
} catch (IOException e) {
System.out.println("data.properties文件流关闭出现异常");
}
}
return properties;
} /**
* 根据key查询value值
* @param key key
* @return
*/
public static String getValue(String key){
Properties properties = getProperties();
String value = properties.getProperty(key);
return value;
} /**
* 新增/修改数据
* @param key
* @param value
*/
public static void setValue(String key, String value){
Properties properties = getProperties();
properties.setProperty(key, value);
//此处获取的路径是target下classes //这里的path是项目文件的绝对路径
//先获取项目绝对路径:Thread.currentThread().getContextClassLoader().getResource("").getPath();
//然后在项目路径后面拼接"properties/sysConfig.properties";
// 原注释
String path = Thread.currentThread().getContextClassLoader().getResource("").getPath();
path = path + "data.properties";
FileOutputStream fileOutputStream = null;
try {
fileOutputStream = new FileOutputStream(path);
properties.store(fileOutputStream, "注释");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (null != fileOutputStream){
fileOutputStream.close();
}
} catch (IOException e) {
System.out.println("data.properties文件流关闭出现异常");
}
}
} /**
* 删除和修改只有语句不同
* properties.remove(key);
*/
}

Java代码操作properties文件(读取,新增/修改,删除)的更多相关文章

  1. Java学习笔记(二)——Java操作properties文件

    [前面的话] 前段时间在学习和玩java web相关的东西,对于这些技术,一边学习,一边做东西,一边总结,希望可以一边成长和有所收获.有时总是思考太多反而成为了前进的阻力,所以对于生活还是简单一些,不 ...

  2. Java之properties文件读取

    1.工程结构 2.ConfigFileTest.java package com.configfile; import java.io.IOException; import java.io.Inpu ...

  3. JAVA操作properties文件

    va中的properties文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件,文件的内容是格式是"键=值"的格式,在properties ...

  4. JAVA使用和操作properties文件

    java中的properties文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件,文件的内容是格式是"键=值"的格式,在properti ...

  5. java加载properties文件的六中基本方式实现

    java加载properties文件的方式主要分为两大类:一种是通过import java.util.Properties类中的load(InputStream in)方法加载: 另一种是通过impo ...

  6. Java代码操作HDFS测试类

    1.Java代码操作HDFS需要用到Jar包和Java类 Jar包: hadoop-common-2.6.0.jar和hadoop-hdfs-2.6.0.jar Java类: java.net.URL ...

  7. java加载properties文件的六种方法总结

    java加载properties文件的六种方法总结 java加载properties文件的六中基本方式实现 java加载properties文件的方式主要分为两大类:一种是通过import java. ...

  8. 曹工说Spring Boot源码(5)-- 怎么从properties文件读取bean

    写在前面的话 相关背景及资源: 曹工说Spring Boot源码(1)-- Bean Definition到底是什么,附spring思维导图分享 曹工说Spring Boot源码(2)-- Bean ...

  9. java 流操作对文件的分割和合并的实例详解_java - JAVA

    文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 java 流操作对文件的分割和合并的实例详解 学习文件的输入输出流,自己做一个小的示例,对文件进行分割和合并. 下面是代 ...

随机推荐

  1. 鸟哥的 Linux 私房菜Shell Scripts篇(二)

    参考: http://linux.vbird.org/linux_basic/0340bashshell-scripts.php#script_be http://www.runoob.com/lin ...

  2. CRM项目之stark组件(2)

    那么从今天开始呢,我们就要开始设计属于我们自己的admin组件,起个名字就叫stark吧(当然你愿意叫什么都可以). stark组件之四步走 仿照admin组件实现流程,stark组件要实现四件事情: ...

  3. MySql常用命令集Mysql常用命令2

    MYSQL 常用命令 1.导出整个数据库 mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的 文件名(数据库默认编码是la ...

  4. 20145236《网络对抗》Exp8 WEB基础实践

    20145236<网路对抗>Exp8 WEB基础实践 一.基础问题回答 什么是表单 表单在网页中主要负责数据采集功能 一个表单有三个基本组成部分: 表单标签 表单域:包含了文本框.密码框. ...

  5. python链家网高并发异步爬虫asyncio+aiohttp+aiomysql异步存入数据

    python链家网二手房异步IO爬虫,使用asyncio.aiohttp和aiomysql 很多小伙伴初学python时都会学习到爬虫,刚入门时会使用requests.urllib这些同步的库进行单线 ...

  6. Django ORM相关

    1. ORM 外键关联查询和多对多关系正反向查询 Class Classes(): name = CF class Student(): name = CF class = FK(to="C ...

  7. ASP.NET Newtonsoft 序列化反序列化

    1.NuGet 安装 Newtonsoft 2.调用方法 一 NuGet 安装 Newtonsoft 二 调用方法 Student stu = new Student(); stu.ID = &quo ...

  8. liunx基础知识

    学习Linux系统的重要性应该不用多说,下面我就对Linux的基础知识进行一个全面而又简单的总结.不过建议大家还是装个Linux系统多练习,平时最好只在Linux环境下编程,这样会大有提高. linu ...

  9. ubuntu14.04终端分屏terminator的安装使用与配置

    安装 terminator 软件 . sudo apt-get install terminator 这个终端程序可以分屏,常用操作快捷键如下: Ctrl+Shift+O Split terminal ...

  10. SkylineGlobe TEPro 6.6.1 二次开发导出KML或者KMZ文件示例代码

    其实Skyline的fly文件跟kml文件很像很像,只不过一个是编码加密的,另一个早已经成为OGC的通用标准: 喜欢Skyline的小伙伴们试试下面的代码吧,细心的人能发现彩蛋哦. <!DOCT ...