• 操作properties文件,注意抹掉最前面的"file:"


    package com.xiewanzhi.property;
    import java.io.BufferedInputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.Properties;
    
    
    public class PropertiesConfig {
    
        /**
         * 根据KEY,读取文件对应的值
         * @param filePath 文件路径,即文件所在包的路径,例如:java/util/config.properties
         * @param key 键
         * @return key对应的值
         */
        public static String readData(String filePath, String key) {
            //获取绝对路径
            filePath = PropertiesConfig.class.getResource("/" + filePath).toString();
            //截掉路径的”file:“前缀
            filePath = filePath.substring(6);
            Properties props = new Properties();
            try {
                InputStream in = new BufferedInputStream(new FileInputStream(filePath));
                props.load(in);
                in.close();
                String value = props.getProperty(key);
                return value;
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
        }
    
        public static void writeData(String filePath, String key, String value) {
            //获取绝对路径
            filePath = PropertiesConfig.class.getResource("/" + filePath).toString();
            //截掉路径的”file:/“前缀
            filePath = filePath.substring(6);
            Properties prop = new Properties();
            try {
                File file = new File(filePath);
                if (!file.exists())
                    file.createNewFile();
                InputStream fis = new FileInputStream(file);
                prop.load(fis);
                //一定要在修改值之前关闭fis
                fis.close();
                OutputStream fos = new FileOutputStream(filePath);
                prop.setProperty(key, value);
                //保存,并加入注释
                prop.store(fos, "Update '" + key + "' value");
                fos.close();
            } catch (IOException e) {
                System.err.println("Visit " + filePath + " for updating " + value + " value error");
            }
        }
        
        public static void main(String[] args) {
            System.out.println(PropertiesConfig.readData("com/xiewanzhi/property/config.properties", "port"));
    //        PropertiesConfig.writeData("com/xiewanzhi/property/config.properties", "port", "12345");
        }
    }
  • 相关阅读:
    [No0000159]C# 7 中的模范和实践
    [No0000158]思维模型1-20
    [No000014B]Office-PPT设置默认打开视图
    [No000014C]让大脑高效运转的24个技巧
    [No000014A]Linux简介与shell编程
    [No000014D]chrome console 调试 引入 jquery等外部库
    [No0000157].net core项目中拼音,excel,pdf处理库
    [No0000156]天干地支-狗年我懂,戊戌二字怎么来的?
    [No0000155]为什么32位机器最大只能用到4GB内存
    [No0000154]详解为什么32位系统只能用4G内存.
  • 原文地址:https://www.cnblogs.com/yufenghou/p/3396553.html
Copyright © 2020-2023  润新知