zoukankan      html  css  js  c++  java
  • 【java学习笔记】Properties

    Properties:可以持久化的映射,规定键和值的类型是String。

    Properties对象必须放到.properties文件中,其中properties文件默认为西欧编码,也因此不存储中文。

    1.写properties文件

     1 import java.io.FileOutputStream;
     2 import java.util.Properties;
     3 
     4 public class PropertiesDemo {
     5     public static void main(String[] args) throws Exception {
     6         // 创建一个properties对象
     7         Properties prop = new Properties();
     8         // 添加键值对:键和值的类型都是String
     9         prop.setProperty("name", "xs");
    10         prop.setProperty("id", "666666");
    11         prop.setProperty("gender", "f");
    12         // 持久化
    13         // Properties对象在序列化的时候必须放到properties文件中
    14         // 第二个参数表示向properties文件中添加注释描述这个properties文件的作用
    15         prop.store(new FileOutputStream("student.properties"), "this is a student");
    16     }
    17 }

    student.properties:

    2.读properties文件

     1 import java.io.FileInputStream;
     2 import java.util.Properties;
     3 public class PropertiesDemo2 {
     4     public static void main(String[] args) throws Exception {
     5         Properties prop = new Properties();
     6         // 读取properties文件
     7         prop.load(new FileInputStream("p.properties"));
     8         // 根据键获取值:如果键不存在,则返回一个null
     9         // 也可以指定默认值(如果没有对应的键,则返回默认值)
    10         System.out.println(prop.getProperty("id"));
    11         System.out.println(prop.getProperty("x"));
    12         System.out.println(prop.getProperty("xxx", "x"));
    13     }
    14 }

    结果:

        

    3.properties的用处

    path=D:\a.txt
    ----->进行更改--->
    path=D:\b.txt
    config.properties
     1 import java.io.FileInputStream;
     2 import java.util.Properties;
     3 
     4 public class PropertiesDemo3 {
     5     public static void main(String[] args) throws Exception {
     6         // 创建properties对象
     7         Properties prop = new Properties();
     8         while (true) {
     9             // 加载properties文件
    10             prop.load(new FileInputStream("config.properties"));
    11             // 读取文件
    12             FileInputStream fin = new FileInputStream(prop.getProperty("path"));
    13             byte[] bs = new byte[10];
    14             int len = -1;
    15             while ((len = fin.read(bs)) != -1) {
    16                 System.out.println(new String(bs, 0, len));
    17             }
    18             fin.close();
    19             Thread.sleep(3000);
    20         }
    21     }
    22 }

    结果:

  • 相关阅读:
    隐藏滚动条但可用滚动
    封装axios,带请求头和响应头
    文本超出显示...
    设置vue-quill-editor禁止输入或编辑
    element-ui select多选情况下获取label和value
    处理vue-quill-editor回显数据的时候没有空格问题
    Redis学习之路(二)Redis集群搭建
    redis requires Ruby version >= 2.2.2问题
    Redis学习之路(一)Redis简介
    Logstash学习之路(五)使用Logstash抽取mysql数据到kakfa
  • 原文地址:https://www.cnblogs.com/kuotian/p/8423454.html
Copyright © 2011-2022 走看看