Nice programing

실행중인 클래스의 파일 시스템 경로 가져 오기

nicepro 2020. 12. 8. 20:02
반응형

실행중인 클래스의 파일 시스템 경로 가져 오기


이 질문에 이미 답변이 있습니다.

java명령을 사용하여 실행되는 경우 런타임에서이 클래스의 코드에서 실행 된 클래스의 현재 파일 시스템 위치를 확인할 수있는 방법이 있습니까?

예를 들어 다음 클래스의 경우 :

public class MyClass{
 public static void main(String[] args){\
   new MyClass().doStuff();
 }

 private void doStufF(){
   String path = ... // what to do here?!
   System.out.println("Path of class being invoked: " + path);
 }

}

방금 호출되는 MyClass.class 파일의 파일 시스템에서 올바른 경로를 가져오고 인쇄하는 방법이 있습니까?

마찬가지로 java -jar명령 에서 jar 파일을 호출하면 해당 jar 내부의 클래스 내에서 jar 파일의 경로를 가져올 수있는 방법이 있습니까?

추신 : 명령이 호출 되는 작업 디렉토리에 대해 어떤 가정도하지 마십시오java !


다음 코드 스 니펫이이를 수행합니다.

final File f = new File(MyClass.class.getProtectionDomain().getCodeSource().getLocation().getPath());

MyClass당신의 main수업으로 대체

결과 File개체 는 실행 된 파일을 f나타냅니다 .jar. 이 개체를 사용하여 부모가있는 디렉터리를 찾을 수 .jar있습니다.

참고 URL : https://stackoverflow.com/questions/11747833/getting-filesystem-path-of-class-being-executed

반응형