集合中的数据来自于一个文件
   注意:必须要保证该文件中的数据是键值对。
      需要使用到读取流

使用load()方法读取已有文件中的数据,存储到Properties集合中

 public class PropertiesDemo {
public static void main(String[] args) throws IOException {
PropertiesDemo();
}
public static void PropertiesDemo() throws IOException {
Properties prop = new Properties(); FileInputStream fr = new FileInputStream("F:\\info.java"); prop.load(fr); prop.list(System.out); }
}

对已有的配置文件中的信息进行修改

   1.读取这个文件
   2.并将这个文件的键值数据存储到集合中
   3.再通过集合对数据进行修改
   4.再通过流将修改后的数据存储到文件中

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties; public class PropertiesDemo {
public static void main(String[] args) throws IOException {
test();
}
public static void test() throws IOException{ //读取这个文件,文件可能不存在,所以先将文件封装成对象进行判断的文件是否存在,如果不存在可以抛异常或者创建一个,具体看需求
File file = new File("F:\\info.java");
if(!file.exists()){
file.createNewFile();
}
FileInputStream fr = new FileInputStream(file); //创建集合存储配置信息
Properties prop = new Properties(); //将流中的信息存储到集合中
prop.load(fr); //修改配置信息
prop.setProperty("04", "huangjianfengqingads"); //保存
FileWriter fw = new FileWriter(file);
prop.store(fw, ""); prop.list(System.out);
fw.close();
fr.close(); }
}

模拟Load()方法:

 import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Properties; public class PropertiesDemo {
public static void main(String[] args) throws IOException {
myLoad();
}
//模拟load方法
public static void myLoad() throws IOException {
Properties prop = new Properties();
BufferedReader buf = new BufferedReader(new FileReader("F:\\info.txt"));
String line = null;
while((line = buf.readLine())!=null){
if(line.startsWith("#")){
continue;
}
String[] arr = line.split("=");
//System.out.println(arr[0]+"::"+arr[1]);
prop.setProperty(arr[0], arr[1]);
prop.list(System.out);
}
} }

Properties集合_修改配置信息的更多相关文章

  1. Properties集合_练习

    定义功能:获取一个应用程序 运行次数,如果超过5次,给出使用次数已到请注册的提示,并不要再运行程序 思路:  1.定义计数器:每次程序启动都需要计数一次,并且是在原有的次数上进行计数.  2.计数器就 ...

  2. PHP基础示例:用正则表达式修改配置信息

    各php工作原理图: 以下是扯代码时间: <?php //配置文件信息 define("HOST","localhost"); //主机名 define( ...

  3. springboot application.properties 常用完整版配置信息

    从springboot官方文档中扒出来的,留存一下以后应该会用到 # ================================================================= ...

  4. java Properties 配置信息类

    Properties(配置信息类):主要用于生产配置文件和读取配置文件信息. ----> 是一个集合类 继承HashTable 存值是以键-值的方式. package com.beiwo.io; ...

  5. Java 项目中一种简单的动态修改配置即时生效的方式 WatchService

    这种方式仅适合于比较小的项目,例如只有一两台服务器,而且配置文件是可以直接修改的.例如 Spring mvc 以 war 包的形式部署,可以直接修改resources 中的配置文件.如果是 Sprin ...

  6. Mybatis配置信息浅析 MyBatis简介(二)

    官方文档入门篇中有明确说明 每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为中心的. SqlSessionFactory 的实例可以通过 SqlSessionF ...

  7. 关于修改banner信息;nginx反向代理apache应用

    本周实验 1. Linux下Apache部署一个php页面,返回http数据包中查看server信息,修改Apache 配置使server banner自定义. 2. nginx设置反向代理,代理上面 ...

  8. 微软企业库5.0 学习之路——第八步、使用Configuration Setting模块等多种方式分类管理企业库配置信息

    在介绍完企业库几个常用模块后,我今天要对企业库的配置文件进行处理,缘由是我打开web.config想进行一些配置的时候发现web.config已经变的异常的臃肿(大量的企业库配置信息充斥其中),所以决 ...

  9. JDBC_04_使用Properties集合保存JDBC所需配置信息

    使用Properties集合保存JDBC所需配置信息 将JDBC连接所需的配置信息保存在一个配置文件中,然后使用Properties将该信息存储起来,动态的完成JDBC的配置连接 代码: import ...

随机推荐

  1. Linux(CentOS6)系统安装Windows字体

    这里说个插曲,最近在linux(CentOS6)服务器上面发布了个Web项目,结果发现,有一处的汉字字体渲染不出来,显示的是“□□□□”.因为我的tomcat编码已经修改了URIEncoding为UT ...

  2. Python机器学习笔记:深入理解Keras中序贯模型和函数模型

     先从sklearn说起吧,如果学习了sklearn的话,那么学习Keras相对来说比较容易.为什么这样说呢? 我们首先比较一下sklearn的机器学习大致使用流程和Keras的大致使用流程: skl ...

  3. shell的编程结构体(函数、条件结构、循环结构)

    bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 1.1 shell函数 在shell中,函数可以被当作命令一样 ...

  4. ARM常用汇编指令列表 --- 转自百度文库

  5. over()的用法

    开窗函数over的常用方法-- 1.为每条数据显示聚合信息-- 2.为每条数据提供分组的聚合函数结果-- 3.与排名函数一起使用 -- 1 为每条数据显示聚合信息 -- 准备一些数据-- 该查询表只能 ...

  6. C#基础 数据类型 类型转换

    本节主要讲解数据类型和各类型之间的转换,两点都是重点,难点在于各种转换的活学活用. 一   数据类型 (一)基本数据类型 1  值类型 (1)整形         int                ...

  7. JavaSE Lambda表达式(JDK1.8新特性)

    在前面有一篇写到了Lambda表达式,现在可以给你们介绍什么是Lambda表达式 现在有很多老程序员都不喜欢这个函数式编程思想 主要就一点 : 老程序员习惯了 面向过程 写程序,而Lambda表达式是 ...

  8. 【Java】包,jar包的扫描

    包扫描在框架中应用很广泛,在spring中,通过给自己的类加注解的方式,利用spring的包扫描,完成依赖注入. package com.test.package_scanner.core; impo ...

  9. 【Java深入研究】1、object类

    一.概述Object类是所有Java类的祖先.每个类都使用 Object 作为超类.所有对象(包括数组)都实现这个类的方法. 参考英文:* Class {@code Object} is the ro ...

  10. 在CentOS下的docker容器中部署spring boot应用的两种方式

    我们通常在 windows 环境下开发 Java,而通常是部署在Linux的服务器中,而CentOS通常是大多数企业的首选,基于Docker的虚拟化容器技术,多数Java应用选择这种方式部署服务.本文 ...