项目中需要用到操作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. Apache的配置详解 带图

    对Apache 的 Http.conf 各项配置详解 1.01 ServerRoot 配置 [ServerRoot "" 主要用于指定 Apache 的安装路径,此选项参数值在安装 ...

  2. chrony时间服务器

    chrony有着比ntp服务器更好的优势来同步服务,在集群架构中,采用此种服务来同步时间也是最好的方式. 在集群环境中,一般都是一个服务器,然后上百个客户端来同步服务端的时间,接下来我们看看如何配置. ...

  3. kafka集群管理工具kafka-manager部署安装

    一.kafka-manager 简介 为了简化开发者和服务工程师维护Kafka集群的工作,yahoo构建了一个叫做Kafka管理器的基于Web工具,叫做 Kafka Manager.这个管理工具可以很 ...

  4. DataUtils对Connection的获取、释放和关闭的操作学习

    DataSourceUitls介绍 DataSourceUitls类位于org.springframework.jdbc.datasource包下,提供了很多的静态方法去从一个javax.sql.Da ...

  5. Spring消息中间件ActiveMQ

    1:下载ActiveMQ (apache-activemq-5.15.6) 2:下载后的结构如下 3:启动activeMQ 可以通过cmd控制台的方式,也可以通过注册services服务启动的方式 3 ...

  6. python第五十一课——__slots

    2.__slots__: 作用:限制对象随意的动态添加属性 举例: class Demo: __slots__ = ('name','age','height','weight') #实例化Demo对 ...

  7. python 上传百度语音识别+文字返回结果

    1文字生成语音 #!/usr/bin/python3 import urllib.request import requests#导入requests库 import urllib import js ...

  8. 转载 SpringMVC详解(三)------基于注解的入门实例

    目录 1.在 web.xml 文件中配置前端处理器 2.在 springmvc.xml 文件中配置处理器映射器,处理器适配器,视图解析器 3.编写 Handler 4.编写 视图 index.jsp ...

  9. 从头到尾使用Geth的说明-2-cli可用命令-有2个地方标红,之后查查源码后看看能不能解决

    geth - the go-ethereum command line interface 以太坊命令行接口 格式: geth [options] command [command options] ...

  10. docker安装与卸载

    文章转自:https://www.cnblogs.com/yufeng218/p/8370670.html  (EE安装) https://blog.csdn.net/jxyzh11/article/ ...