>  기사  >  Java  >  Java에서 상대 경로 사용

Java에서 상대 경로 사용

巴扎黑
巴扎黑원래의
2016-12-20 16:35:201598검색

개발 과정에서 구성 파일을 읽는 상황이 자주 발생합니다. 구성 파일을 읽는 방법은 환경 및 기타 상황에 따라 다릅니다. 일반적으로 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) 메소드를 통해 구성 정보를 읽을 수 있습니다
}

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.