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(
Stringkey)는 지정된 키를 사용하여 이 property 목록 에 있는 속성을 검색합니다. 즉, 매개변수 키를 통해 키에 해당하는 값을 얻는다. 2. load(InputStream inStream)는 입력 스트림에서 속성(키 및 요소 쌍) 목록을 읽습니다. 지정된 파일(위의 test.properties 파일)을 로드하여 모든 키-값 쌍을 가져옵니다. getProperty(문자열 키)를 검색합니다.
3.
setProperty(문자열 키, 문자열 값), Hashtable 메소드 put을 호출합니다. 기본 클래스의 put 메소드를 호출하여 키-값 쌍을 설정합니다. 4. store(OutputStream 출력, 문자열 주석)는 load 메서드를 사용하여 Properties 테이블에 로드하는 데 적합한 형식으로 이 Properties 테이블의 속성(키 및 요소 쌍) 목록을 출력 스트림에 기록합니다. 로드 방법과 달리 이 방법은 지정된 파일에 키-값 쌍을 씁니다.
5.
clear (), 로드된 모든 키-값 쌍을 지웁니다. 이 메서드는 기본 클래스에서 제공됩니다.
2. Java는 Properties 파일을 읽습니다. Java에서 Properties 파일을 읽는 방법은 여러 가지가 있지만 가장 일반적으로 사용되는 방법은 java.
lang의 getResourceAsStream(문자열 이름)을 사용하는 것입니다. Class 클래스 ) 메서드는 다음과 같이 호출할 수 있습니다. InputStream in = getClass().getResourceAsStream("资源Name");作为我们写程序的,用此一种足够。
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);
}
}
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);
}
}
}
키에 따른 값 읽기부동산의 모든 정보 읽기
새로운 부동산 정보 쓰기
//关于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 중국어 웹사이트의 기타 관련 기사를 참조하세요!