• java笔记----property文件读写


    package com.test.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.util.HashMap;
    import java.util.Iterator;
    import java.util.Properties;
    
    /**
    * @author 
    * @version 创建时间:2019年3月26日 上午8:40:17
    * 类说明
    */
    public class PropertyTest {
        static Properties prop = new Properties();
        static String strPath=PropertyTest.class.getClassLoader().getResource("./").getPath()+"/a.properties";
        static HashMap<String, String> map = new HashMap<String, String>();
        public static void main(String[] args) throws IOException {
            // TODO Auto-generated method stub
              
              File file = new File(strPath);  
              String[] path =strPath.split("/");
              String filename =path[path.length-1];
              String dpath =strPath.replace("/"+filename, "");
               System.out.println("文件路径"+dpath);
               System.out.println("文件名"+filename);
                if(!new File(dpath).exists()){
                    new File(dpath).mkdirs();
                    System.out.println("创建目录成功:"+dpath);
                if(!file.exists()){
                        file.createNewFile();
                        System.out.println("创建文件成功:"+file);
                    }
                }else{
                    if(!file.exists()){
                        file.createNewFile();
                        System.out.println("创建文件成功2:"+file);
                    }
                }
                
                //读取属性文件a.properties
                InputStream in = new BufferedInputStream (new FileInputStream(strPath));
                prop.load(in);     ///加载属性列表
                Iterator<String> it=prop.stringPropertyNames().iterator();
                while(it.hasNext()){
                    String key=it.next();
                    map.put(key,prop.getProperty(key));
                    System.out.println(key+":"+prop.getProperty(key));
                }
                in.close();
                addProp("3","455");
                
        }
       
        private static boolean addProp(String key,String value){//添加key不是相同的property
            //
            if(map.containsKey(key)){  //里面含有该key不写进去
                return false;
            }else{
            try {
                FileOutputStream oFile = new FileOutputStream(strPath, false);
                prop.setProperty(key, value);
                prop.store(oFile, null);//null就是不要注释
                oFile.close();
                return true;
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }//true表示追加打开
            return false;
          }
        }
    }

     

  • 相关阅读:
    Web知识点收集
    UIView 的 autoresizingMask 属性 详解。
    OpenStack-Neutron-VPNaaS-API
    OpenStack-Neutron-VPNaaS-测试和使用
    OpenStack-Neutron-VPNaaS-配置
    OpenStack-Neutron-安全组
    Openstack-Namespaces
    OpenStack-RabbitMQ-获取vm、磁盘、网络设备的状态变化
    Openstack-Ceilometer-SNMP的使用
    Openstack-Ceilometer-Alarm运行机制
  • 原文地址:https://www.cnblogs.com/tk55/p/10598198.html
Copyright © 2020-2023  润新知