> Java > java지도 시간 > Java의 속성에 대한 간략한 소개

Java의 속성에 대한 간략한 소개

黄舟
풀어 주다: 2017-05-28 09:21:40
원래의
2083명이 탐색했습니다.

Java에는 주로 Java의 구성 파일을 읽는 데 사용되는 비교적 중요한 클래스 속성(Java.util.Properties)이 있습니다. 각 언어에는 구성 파일에 많은 변수가 있습니다. 이는 사용자의 편의를 위해 자주 변경되며, 사용자는 프로그램 자체 없이 관련 변수 설정을 수정할 수 있습니다.

Java의 속성 클래스 작업

지식을 사용하지 않고 학습하는 것은 의미가 없습니다. 그것은 실제로 사용됩니다. 때가 되면 다시 배워야 할 것입니다. 최근에 Properties 클래스에 대한 많은 참조가 포함된 여러 오픈 소스 시뮬레이터의 소스 코드를 살펴보았습니다. Java가 오랫동안 사용되지 않았기 때문에 대부분의 시뮬레이터는 일부 스크립팅과 함께 Java로 작성되었습니다. 언어 ​​Python, Perl 등은 최후의 수단으로 다시 선택해야 합니다.

1. Java 속성 클래스

Java에는 주로 Java 구성 파일을 읽는 데 사용되는 비교적 중요한 클래스 속성(Java.util.Properties)이 있습니다. 각 언어에는 자체 지원 구성이 있습니다. 이는 사용자의 편의를 위한 것이며, 사용자는 프로그램 자체를 종료하지 않고도 관련 변수 설정을 수정할 수 있습니다. Python에서 지원하는 구성 파일은 .ini 파일입니다. 마찬가지로 구성 파일을 읽기 위한 자체 클래스 ConfigParse도 있는데, 이는 프로그래머나 사용자가 이 클래스의 메서드를 통해 .ini 구성 파일을 수정하는 데 편리합니다. Java에서 해당 구성 파일은 텍스트 파일 형식의 .properties 파일인 경우가 많습니다. 파일 내용은 "key=value" 형식입니다. 텍스트 주석 정보에 "#" 주석을 달 수 있습니다. Properties 클래스

는 다음과 같이

Hash 테이블에서 를 상속합니다.

몇 가지 주요 메서드를 제공합니다.

1. getProperty(

String

key)는 지정된 키를 사용하여 이 property 목록 에 있는 속성을 검색합니다. 즉, 매개변수 키를 통해 키에 해당하는 값을 얻는다. 2. load(InputStream inStream)는 입력 스트림에서 속성(키 및 요소 쌍) 목록을 읽습니다. 지정된 파일(위의 test.properties 파일)을 로드하여 모든 키-값 쌍을 가져옵니다. getProperty(문자열 키)를 검색합니다.

3.

set

Property(문자열 키, 문자열 값), Hashtable 메소드 put을 호출합니다. 기본 클래스의 put 메소드를 호출하여 키-값 쌍을 설정합니다. 4. store(OutputStream 출력, 문자열 주석)는 load 메서드를 사용하여 Properties 테이블에 로드하는 데 적합한 형식으로 이 Properties 테이블의 속성(키 및 요소 쌍) 목록을 출력 스트림에 기록합니다. 로드 방법과 달리 이 방법은 지정된 파일에 키-값 쌍을 씁니다.

5.

clear

(), 로드된 모든 키-값 쌍을 지웁니다. 이 메서드는 기본 클래스에서 제공됩니다.

2. Java는 Properties 파일을 읽습니다. Java에서 Properties 파일을 읽는 방법은 여러 가지가 있지만 가장 일반적으로 사용되는 방법은 java.

lang

의 getResourceAsStream(문자열 이름)을 사용하는 것입니다. Class 클래스 ) 메서드는 다음과 같이 호출할 수 있습니다.

또는 다음도 일반적으로 사용됩니다.

InputStream in = new BufferedInputStream(new FileInputStream(filepath));
로그인 후 복사

3. 관련 예 다음은 클래스에 대한 이해와 기억을 심화하기 위한 몇 가지 예입니다. 속성 클래스.

JVM(Java Virtual Machine)에는 자체 시스템 구성 파일(system.properties)이 있으며 다음 방법을 통해 얻을 수 있다는 것을 알고 있습니다.

1. JVM

 import java.util.Properties;
 public class ReadJVM {
  public static void main(String[] args) {
   Properties pps = System.getProperties();
   pps.list(System.out);
  }
 }
로그인 후 복사
결과를 가져옵니다.


2. 새로운 구성 파일(Test.properties)

name=JJ
Weight=4444
Height=3333
 
 public class getProperties {
  public static void main(String[] args) throws FileNotFoundException, IOException {
   Properties pps = new Properties();
   pps.load(new FileInputStream("Test.properties"));
   Enumeration enum1 = pps.propertyNames();//得到配置文件的名字
   while(enum1.hasMoreElements()) {
    String strKey = (String) enum1.nextElement();
    String strValue = pps.getProperty(strKey);
    System.out.println(strKey + "=" + strValue);
   }
  }
 }
로그인 후 복사

3을 만듭니다.

키에 따른 값 읽기부동산의 모든 정보 읽기

새로운 부동산 정보 쓰기

 //关于Properties类常用的操作
 public class TestProperties {
  //根据Key读取Value
  public static String GetValueByKey(String filePath, String key) {
   Properties pps = new Properties();
   try {
    InputStream in = new BufferedInputStream (new FileInputStream(filePath)); 
    pps.load(in);
    String value = pps.getProperty(key);
    System.out.println(key + " = " + value);
    return value;
    
   }catch (IOException e) {
    e.printStackTrace();
    return null;
   }
  }
  
  //读取Properties的全部信息
  public static void GetAllProperties(String filePath) throws IOException {
   Properties pps = new Properties();
   InputStream in = new BufferedInputStream(new FileInputStream(filePath));
   pps.load(in);
   Enumeration en = pps.propertyNames(); //得到配置文件的名字
   
   while(en.hasMoreElements()) {
    String strKey = (String) en.nextElement();
    String strValue = pps.getProperty(strKey);
    System.out.println(strKey + "=" + strValue);
   }
   
  }
  
  //写入Properties信息
  public static void WriteProperties (String filePath, String pKey, String pValue) throws IOException {
   Properties pps = new Properties();
   
   InputStream in = new FileInputStream(filePath);
   //从输入流中读取属性列表(键和元素对) 
   pps.load(in);
   //调用 Hashtable 的方法 put。使用 getProperty 方法提供并行性。 
   //强制要求为属性的键和值使用字符串。返回值是 Hashtable 调用 put 的结果。
   OutputStream out = new FileOutputStream(filePath);
   pps.setProperty(pKey, pValue);
   //以适合使用 load 方法加载到 Properties 表中的格式, 
   //将此 Properties 表中的属性列表(键和元素对)写入输出流 
   pps.store(out, "Update " + pKey + " name");
  }
  
  public static void main(String [] args) throws IOException{
   //String value = GetValueByKey("Test.properties", "name");
   //System.out.println(value);
   //GetAllProperties("Test.properties");
   WriteProperties("Test.properties","long", "212");
  }
 }
로그인 후 복사

结果:

Test.properties中文件的数据为:

#Update long name
#Sun Feb 23 18:17:16 CST 2016
name=JJ
Weight=4444
long=212
Height=3333
로그인 후 복사

위 내용은 Java의 속성에 대한 간략한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿