博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用JAVA操作properties文件
阅读量:6965 次
发布时间:2019-06-27

本文共 1956 字,大约阅读时间需要 6 分钟。

package control;

import java.io.BufferedInputStream;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Enumeration;
import java.util.Properties;

public class TestMain {

 
 //根据key读取value
 public static String readValue(String filePath,String key) {
  Properties props = new Properties();
        try {
         InputStream in = new BufferedInputStream (new FileInputStream(filePath));
         props.load(in);
         String value = props.getProperty (key);
            System.out.println(key+value);
            return value;
        } catch (Exception e) {
         e.printStackTrace();
         return null;
        }
 }
 
 //读取properties的全部信息
    public static void readProperties(String filePath) {
     Properties props = new Properties();
        try {
         InputStream in = new BufferedInputStream (new FileInputStream(filePath));
         props.load(in);
            Enumeration en = props.propertyNames();
             while (en.hasMoreElements()) {
              String key = (String) en.nextElement();
                    String Property = props.getProperty (key);
                    System.out.println(key+Property);
                }
        } catch (Exception e) {
         e.printStackTrace();
        }
    }

    //写入properties信息

    public static void writeProperties(String filePath,String parameterName,String parameterValue) {
     Properties prop = new Properties();
     try {
      InputStream fis = new FileInputStream(filePath);
            //从输入流中读取属性列表(键和元素对)
            prop.load(fis);
            //调用 Hashtable 的方法 put。使用 getProperty 方法提供并行性。
            //强制要求为属性的键和值使用字符串。返回值是 Hashtable 调用 put 的结果。
            OutputStream fos = new FileOutputStream(filePath);
            prop.setProperty(parameterName, parameterValue);
            //以适合使用 load 方法加载到 Properties 表中的格式,
            //将此 Properties 表中的属性列表(键和元素对)写入输出流
            prop.store(fos, "Update '" + parameterName + "' value");
        } catch (IOException e) {
         System.err.println("Visit "+filePath+" for updating "+parameterName+" value error");
        }
    }

    public static void main(String[] args) {

     readValue("info.properties","url");
        writeProperties("info.properties","age","21");
        readProperties("info.properties" );
        System.out.println("OK");
    }
}

转载地址:http://zcwsl.baihongyu.com/

你可能感兴趣的文章
详解TCP/IP协议的含义及三个参数
查看>>
***的免杀技术
查看>>
Java 图像的模糊与锐化
查看>>
filter实际运用 appScan扫描漏洞处理
查看>>
原创:keil各种错误原因和解决方案--不间断更新
查看>>
cisco 2950使用经验。
查看>>
7月10日垃圾邮件报告:广东居十大垃圾邮件发送地之首
查看>>
MySQL索引背后的数据结构及算法原理
查看>>
全面剖析 Knative Eventing 0.6 版本新特性
查看>>
流,用声明性的方式处理数据集 - 读《Java 8实战》
查看>>
【翻译】How To Become A Blockchain Developer: Crash Course! 区块链开发指南!
查看>>
linux修改或者配置IP地址、网络YUM源(针对Centos)
查看>>
MVC Cookie的使用
查看>>
mysql主从配置
查看>>
Linux 消耗CPU和内存的代码段----测试用的
查看>>
VMware与Hyper-V不兼容
查看>>
OSX加载驱动提示invalid signature
查看>>
第0篇.C++开发环境介绍
查看>>
Ubuntu 源代码阅读和函数、变量的定位--之一
查看>>
Java - Keywords 基本数据类型 Identifier
查看>>