2010-06-18 7 views
0

많은 클래스 파일을 포함하는 디렉토리가 있습니다. 이 파일 중 일부는 테스트 클래스 이름으로 시작하며이 클래스 파일 만로드하려는 경우 즉, 다른 Java 프로그램에서 ___ 클래스 테스트를 수행하려는 경우 이러한 특정 파일을 어떻게 읽을 수 있습니까 ?? 정규 표현식을 사용할 수 있습니까?특정 클래스 파일을 자바로로드

+0

잠시만 기다려주세요. * "다른 Java 프로그램에서이 클래스 만로드"*? 일단로드하면, 그들과 무엇을 할 것입니까? – OscarRyz

답변

1

클래스 경로에있는 경우 모든 클래스 이름을 가져 와서로드하면됩니다.

String packageName = "some.name"; 
File dir = new File("/Path/to/your/classes/some/name"); 
String [] classes = dir.list(new FilenameFilter(){ 
    public boolean accept(File dir, String name) { 
      return name.matches("test.*\\.class"); 
    } 
} 
for(String name: classes) { 
    Class.forName(packageName + name);// load them 
} 

그렇지 않은 경우 URLClassloader을 사용하여로드 할 수 있습니다.

0

디렉토리를 읽고 클래스 목록을 얻고 원하는대로 필터링하십시오. 그런 다음 원하는 클래스를 인스턴스화 할 수 있지만 물론 클래스의 메서드를 호출하기 위해 클래스 이름 자체가 아닌 인터페이스 (예 : )를 사용해야 만합니다.

디렉토리 읽기 및 파싱을 처리하지 않으려면 애플릿 또는 명령 줄 매개 변수에 테스트 클래스 목록을 포함 시키면됩니다.

관련 문제