2012-04-08 91 views
0

我已經創建了應顯示位於/src/files/pattern.xml中的文件「pattern.xml」的項目。Java Eclipse,導出jar。使用導入的文件

當我在eclipse中運行代碼時,它工作正常。但是,當我將項目導出到可執行jar並嘗試執行它時,jar不起作用。

也許問題在這裏?

URL dir_url = this.getClass().getClassLoader() 
       .getResource("files\\pattern.xml"); 

這裏是代碼。有任何想法嗎?在Eclipse

public class ResourseClass { 

public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    test t = new test(); 
    t.Go(); 
    } 
} 

class test { 

void Go() { 
    try { 

     URL dir_url = this.getClass().getClassLoader() 
       .getResource("files\\pattern.xml"); 
     File dir = new File(dir_url.toURI()); 
     if (dir.exists()) { 
      System.out.println("file exists"); 
     } 

     FileReader frI = new FileReader(dir); 
     BufferedReader br = new BufferedReader(frI); 
     String text; 
     String textout = ""; 

     while ((text = br.readLine()) != null) { 
      textout = textout + text + "\n"; 
     } 

     JOptionPane.showMessageDialog(null, textout, "Information", 
       JOptionPane.WARNING_MESSAGE); 
     br.close(); 

    } catch (FileNotFoundException e2) { 
     // TODO Auto-generated catch block 
     e2.printStackTrace(); 
    } catch (IOException e1) { 
     // TODO Auto-generated catch block 
     e1.printStackTrace(); 
    } catch (URISyntaxException e3) { 
     // TODO Auto-generated catch block 
     e3.printStackTrace(); 
    } 
} 

    } 

包窗口

enter image description here

正常執行

enter image description here

當代碼在eclipse它的工作原理是執行。

+0

我不完全確定它被編譯到jar中。你能否檢查文件是否存在於.jar文件中? – 2012-04-08 16:39:39

+0

是的,當我打開存檔時,文件「pattern.xml」位於.jar存檔中。 – 2012-04-08 20:22:36

+0

不應該在.jar/files /中?嘗試在jar中創建一個文件夾,移動xml並運行jar。 – 2012-04-08 20:39:14

回答

0

當您在eclipse外部運行pattern.xml文件時,您需要將pattern.xml文件移動到您的類文件所在的文件夾中。