개발 과정에서 구성 파일을 읽는 상황이 자주 발생합니다. 구성 파일을 읽는 방법은 환경 및 기타 상황에 따라 다릅니다. 일반적으로 jar가 아닌 패키지에서 상대/경로를 사용하는 경우에는 상대적입니다. 간단하므로 여기서 자세히 설명하지는 않겠지만
많은 상황에서 클래스를 jar 파일로 패키징하여 사용해야 합니다. 이때 이전에 이러한 사항을 고려하지 않았다면 다음과 같은 사실을 알게 될 것입니다. 작동하지 않을 수 있는데 어떻게 해결하나요? 방법은 다음과 같습니다
:
에는 다음 경로가 있습니다.
Web-info---|-->classes--->conf-->config.properties
|-- >lib
이때 config.properties를 읽어야 합니다. jar 패키지를 사용하지 않는 경우에는 다음과 같이 읽는 것이 좋습니다.
File f = new File(this.getClass() .getResource("/ ").getPath());
f = new File(f.getPath() + "/conf/config.properties");
참고: f.getPath()는 절대값입니다. 클래스가 위치한 경로입니다. 예를 들어 c:javasrcweb-infclasses
그런 다음 파일 객체를 처리하면 구성 정보를 읽을 수 있습니다. 그러나 위 클래스를 추가하여 jar 파일로 패키징하면 여기서 프로그램이 실행될 때 구성 파일을 찾았는데 어떻게 처리해야 할까요?
처리 방법은 다음과 같습니다.
String s_config="conf/config.properties";
InputStream in = ClassLoader.getSystemResourceAsStream(s_config);
if( in == null ){
System.out.println( "Open" + s_config + "Failed!" );
}else
{
속성 속성 = new Properties();
properties.load(in);
/ /
//다음으로 Properties.getProperty(String obj) 메소드를 통해 구성 정보를 읽을 수 있습니다
}