2012-06-23 4 views
0

내 응용 프로그램에서는 <class_name>이 들어있는 패키지의 디렉토리 표현을 만들어야합니다. 즉, 그 디렉토리를 나타내는 File 오브젝트를 생성해야합니다. 다음과 같이File (URI uri) 생성자를 사용하여 파일 객체 만들기

코드는 다음 File 객체를 생성 할 때

Package package1 = <class_name>.class.getPackage(); 
String string = "/" + package1.getName().replace('.', '/'); 
URL url = <class_name>.class.getResource(string); 
File file = new File(url.toURI()); 

을 이제 문제는,이 예외가 발생합니다 :

java.lang.IllegalArgumentException가 : URI가 계층 적 없습니다.

누구든지 빛을 비추고 해결할 수 있습니까?

+4

거의 항상 그렇듯이 클래스가 jar 파일에 있으면 어떻게됩니까? –

+0

왜 사용하지 않는 file file = new File (url.toString()); //? – rickz

+0

rickz help statement를 사용하려고했지만 작동하지 않습니다. 이것을 사용하면 파일 객체가 존재하지 않는다는 것을 직면하게됩니다. 왜 이렇게됩니까? –

답변

0

NetBeans를 사용하지 않습니다. 그래서, 나는 당신을 도울 수 없다. 그러나 명령 행에서 java를 사용할 수 있다면이 테스트 코드를 사용해보십시오.

package rick; 
import java.net.*; 
import java.io.*; 
public class Test{ 
    public static void main(String[] args){ 
    Test test = new Test(); 
    Package package1 = test.getClass().getPackage(); 
    String string = "/" + package1.getName().replace('.','/'); 
    URL url = test.getClass().getResource(string); 
    File file = new File(url.toString()); 
    System.out.println(file.getPath()); 
    } 
}