2012-06-23 34 views
0

在我的應用程序,我需要創建一個目錄這哪裏是<class_name>包含包的表示。總之,我需要創建一個代表該目錄的File對象。創建與文件的文件對象(URI URI)構造

的代碼如下:

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

現在的問題是創建File對象時,這個異常被拋出:

java.lang.IllegalArgumentException異常:URI不分層。

任何人都可以闡明和幫助我解決這個問題?

+4

如果幾乎總是這樣,那麼該類在jar文件中呢? –

+0

爲什麼不使用文件的文件=新的文件(url.toString()); //? – rickz

+0

我試圖rickz幫助語句中使用,但它不」工作。如果我使用這個,我現在面對的是文件對象不存在。這是爲什麼? –

回答

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()); 
    } 
}