2017-12-06 31 views
0

나는 내가getContextClassLoader()를 사용하는 경우. java의 getResourceAsStream?

Properties p = new Properties(); 
p.load(new BufferedReader(new FileReader("Test.properties"))) 

어느 한 날이 두 가지 접근 방법이 다른 방법을 알려 주시기 수 작성하는 경우는 것 어떤 차이를 이해하려고 노력하고 내가

InputStream iStream= Thread.currentThread().getContextClassLoader().getResourceAsStream("Test.Properties"); 

건너 온 웹 응용 프로그램이?

답변

0

내가 올바르게 이해한다면, getResourceAsStream() 메소드가 특성 파일의 classspath를 확인하는 차이점이 있다는 것입니다.

경로에 대한 권한이있는 한 Filereader는 파일 시스템의 어느 곳에서나 파일을 읽을 수 있습니다.

편집 : 스레드의 고유 한 클래스 로더를 사용하지만 다른 스레드와 리소스를 공유하지 않는 한 어느 쪽이든 괜찮을 것입니다.

저는 개인적으로 getResourceAsStream 메소드가 마음에 들었습니다. 이는 파일을 내 메이븐 프로젝트의 폴더에 던져 넣을 수 있기 때문입니다./src/main/resources에 저장하고 응용 프로그램의 패키지 방법에 상관없이 검색 할 수 있습니다.