java--IO--Properties类

Posted 张紫韩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java--IO--Properties类相关的知识,希望对你有一定的参考价值。

  1. Properties的介绍
  2. Properties应用案例:

    1.  
    2.  

      package com.model.io.properties;
      
      import java.io.BufferedReader;
      import java.io.FileNotFoundException;
      import java.io.FileReader;
      import java.io.IOException;
      
      /**
       * @Description:测试类
       * @Author: 张紫韩
       * @Crete 2021/6/19 14:09
       */
      public class PropertiesDemo01 {
          //传统的方法读取properties文件
          public static void main(String[] args) throws IOException {
              String filePath="D:\\\\qq\\\\IDEA\\\\IdeaProjects\\\\java_mianshi_test\\\\mianshi_io\\\\src\\\\main\\\\resources\\\\Properties\\\\PropertiesDemo01.properties";
      
              BufferedReader bufferedReader = new BufferedReader(new FileReader(filePath));
              String readLine=null;
      
              while((readLine=bufferedReader.readLine())!=null){
                  String[] split = readLine.split("=");
                  System.out.println(split[0]+"的值是:"+split[1]);
              }
              bufferedReader.close();
      
      
          }
      
      
      }

       

    3.  

      package com.model.io.properties;
      
      import java.io.FileInputStream;
      import java.io.FileNotFoundException;
      import java.io.IOException;
      import java.io.PrintStream;
      import java.util.Properties;
      
      /**
       * @Description:测试类
       * @Author: 张紫韩
       * @Crete 2021/6/19 14:00
       *
       * 使用Properties类读取配置文件信息
       */
      public class PropertiesDemo02 {
          public static void main(String[] args) throws IOException {
      
              String filePath="D:\\\\qq\\\\IDEA\\\\IdeaProjects\\\\java_mianshi_test\\\\mianshi_io\\\\src\\\\main\\\\resources\\\\Properties\\\\PropertiesDemo01.properties";
      
              String filePath1="D:\\\\qq\\\\IDEA\\\\IdeaProjects\\\\java_mianshi_test\\\\mianshi_io\\\\src\\\\main\\\\resources\\\\Properties\\\\PropertiesDemo02.properties";
              //创建properties对象
              Properties properties = new Properties();
              //加载指定的配置 文件
              properties.load(new FileInputStream(filePath));
              //修改打印位置控制台。并打印所有的键值对
              properties.list(System.out);
              //修改打印位置为一个文件,将配置文件的信息都打印到其中
              properties.list(new PrintStream(filePath1));
              //getProperties获取某一个值
              System.out.println(properties.getProperty("password"));
              System.out.println(properties.getProperty("username"));
      
          }
      }

       

    4.  

      package com.model.io.properties;
      
      import java.io.FileWriter;
      import java.io.IOException;
      import java.util.Properties;
      
      /**
       * @Description:测试类
       * @Author: 张紫韩
       * @Crete 2021/6/19 14:27
       *
       * 使用Properties类 修改创建配置文件
       */
      public class PropertiesDemo03 {
          public static void main(String[] args) throws IOException {
      
              //创建的配置文件的位置
              String filePath="D:\\\\qq\\\\IDEA\\\\IdeaProjects\\\\java_mianshi_test\\\\mianshi_io\\\\src\\\\main\\\\resources\\\\Properties\\\\PropertiesDemo03.properties";
             /*
             * Properties类的父类是Hashtable,底层核心代码就是Hashtable核心方法
             * public synchronized V put(K key, V value) {
              // Make sure the value is not null
              if (value == null) {
                  throw new NullPointerException();
              }
      
              // Makes sure the key is not already in the hashtable.
              Entry<?,?> tab[] = table;
              int hash = key.hashCode();
              int index = (hash & 0x7FFFFFFF) % tab.length;
              @SuppressWarnings("unchecked")
              Entry<K,V> entry = (Entry<K,V>)tab[index];
              for(; entry != null ; entry = entry.next) {
                  if ((entry.hash == hash) && entry.key.equals(key)) {
                      V old = entry.value;
                      entry.value = value;
                      return old;
                  }
              }
      
              addEntry(hash, key, value, index);
              return null;
          }
             * */
              Properties properties = new Properties();
            //如果文件中存在key。则是替换修改,如果key不存在则是创建新的key-value
              properties.setProperty("username", "root");
              properties.setProperty("password", "123456");
              properties.setProperty("name", "张三"); //他在配置文件中不会保存汉字,而是保存汉字对应的unicode码
              properties.store(new FileWriter(filePath), null);
      
              System.out.println("保存/创建成功");
          }
      }

       

       

           

       

以上是关于java--IO--Properties类的主要内容,如果未能解决你的问题,请参考以下文章

elasticsearch代码片段,及工具类SearchEsUtil.java

Android 逆向类加载器 ClassLoader ( 类加载器源码简介 | BaseDexClassLoader | DexClassLoader | PathClassLoader )(代码片段

为啥片段类应该是公开的?

片段内部静态类和gradle问题

从片段类中的对话框添加项目到recyclerview。

如何从片段内的列表视图打开链接网址?