자바 로 딩 properties 파일 구현 방식 상세 설명

4901 단어 Javaproperties문건
자바 가 properties 파일 을 불 러 오 는 방식 은 주로 두 가지 로 나 뉜 다.하 나 는 import 자바.util.Properties 류 의 load(InputStream in)방법 으로 불 러 오 는 것 이다.
다른 하 나 는 import java.util.Resource Bundle 류 의 getBundle(String baseName)방법 으로 불 러 옵 니 다.
메모:경로 형식 을 구분 해 야 합 니 다.
구현 코드 는 다음 과 같 습 니 다:

package com.util;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import java.util.PropertyResourceBundle;
import java.util.ResourceBundle;

public class PropertiesUtil {
  private static String basePath = "src/prop.properties";
  private static String name = "";
  private static String nickname = "";
  private static String password = "";

  /**
   *  、   java.util.Properties  load(InputStream in)    properties  
   *
   */
  public static String getName1() {
    try {
      Properties prop = new Properties();
      InputStream is = new FileInputStream(basePath);
      prop.load(is);
      name = prop.getProperty("username");
    } catch (FileNotFoundException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
    return name;
  }

  /**
   *  、   class   getResourceAsStream()  
   *   :getResourceAsStream()             
   *
   */
  public static String getName2() {
    Properties prop = new Properties();
    InputStream is = PropertiesUtil.class
        .getResourceAsStream("/com/util/prop.properties");
    try {
      prop.load(is);
      name = prop.getProperty("username");
    } catch (IOException e) {
      e.printStackTrace();
    }
    return name;
  }

  /**
   *  、
   *   class.getClassLoader()    java.lang.ClassLoader getResourceAsStream()  
   * getResourceAsStream(name)           +   +.            
   *
   */
  public static String getName3() {
    Properties prop = new Properties();
    InputStream is = PropertiesUtil.class.getClassLoader()
        .getResourceAsStream("com/util/prop.properties");
    try {
      prop.load(is);

    } catch (IOException e) {
      e.printStackTrace();
    }
    return name;
  }

  /**
   *  、   java.lang.ClassLoader  getSystemResourceAsStream()    
   * getSystemResourceAsStream()               
   *
   */
  public static String getName4() {
    Properties prop = new Properties();
    InputStream is = ClassLoader
        .getSystemResourceAsStream("com/util/prop.properties");
    try {
      prop.load(is);
      name = prop.getProperty("username");
    } catch (IOException e) {
      e.printStackTrace();
    }
    return name;
  }

  /**
   *  、   java.util.ResourceBundle  getBundle()  
   *   :  getBundle()            +properties   ,      
   *
   */
  public static String getName5() {
    ResourceBundle rb = ResourceBundle.getBundle("com/util/prop");
    password = rb.getString("password");
    return password;
  }

  /**
   *  、   java.util.PropertyResourceBundle      
   *
   */
  public static String getName6() {
    try {
      InputStream is = new FileInputStream(basePath);
      ResourceBundle rb = new PropertyResourceBundle(is);
      nickname = rb.getString("nickname");
    } catch (FileNotFoundException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }

    return nickname;
  }

  /**
   *   
   *
   */
  public static void main(String[] args) {
    System.out.println("name1:" + PropertiesUtil.getName1());
    System.out.println("name2:" + PropertiesUtil.getName2());
    System.out.println("name3:" + PropertiesUtil.getName3());
    System.out.println("name4:" + PropertiesUtil.getName4());
    System.out.println("password:" + PropertiesUtil.getName5());
    System.out.println("nickname:" + PropertiesUtil.getName6());
  }
}
파일 경로:

prop.properties 파일:
 username=mamama
 nickname=xiaoma
 password=123456
출력 결과:

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기