2012-03-18 124 views
0

首先我要感謝你的幫助,你可以給我的文件,持久性與JSF

我開發一個JSF的Web應用程序, 當前2.1.7 JSF version

其實,我有一個登錄頁面,使用一個會話bean, 它調用的邏輯類「PersonCatalog」, 負責讀取文本文件.txt與個人有關的信息,如相關數據庫,但有文件。

問題是要訪問該文件
有史以來我得到一個NullException,因爲該程序沒有找到該文件。 我不知道我選擇的道路,這裏是目錄herarchy:

應用

|-- build 
|-- src 
     |--eci 
      |--pdsw2012 
       |--shoeople 
        |--beans 
         |--loginBean and others ... 
        |--logic 
         |--PersonCatalog and others... 
        |--persistence 
         |--files 
          |--persons.txt 
|-- WebContent 
     |--WEB-INF 
     |--META-INF 
     |--a lot of xhtml pages ... 

我使用PersonCatalog用於讀取person.txt文件後續代碼:

File readFile = new File(new String("src/eci/pdsw2012/shoeople/persistence/files/persons.txt")); 

,但我得到:

java.lang.NullPointerException 
at eci.pdsw2012.shoeople.logic.PersonCatalog.loadFile(PersonCatalog.java:31) 

我已經使用了ExternalContext().getRealPath(),但它只顯示在Web內容文件夾中。

我使用日食,默認路由就是Eclipse的安裝文件夾中,就是這麼奇怪:

String ruta = System.getProperty("user.dir"); 
System.out.println("DirAbs: " + ruta.getAbsolutePath()); 

,並打印

C:/Eclipse/ 

預先感謝您爲您的幫助, 問候

回答

0

在這種情況下部署的Web應用程序的根將是WebContent文件夾,其中包含WEB-INF

在部署的版本中,src文件被編譯爲類文件並放置在以下文件夾classes中。

的路徑persons.txt將\WEB-INF\classes\eci\pdsw2012\shoeople\persistence\files\persons.txt

+0

嘿謝謝楓,我移動它,然後它的作品!謝謝很多朋友 – Creativelair 2012-03-19 22:47:16

+0

我有一個問題,我不知道如何從.java文件訪問該文件,我正在使用:((ServletContext)FacesContext.getCurrentInstance()。getExternalContext()。getContext())。getRealPath(「 /「)+」files/personas.txt「但它不起作用,保存在另一個文件夾中,謝謝! – Creativelair 2012-03-20 22:46:09

+0

@Creativelair這似乎可能是一個不同的問題。您應該將此作爲不同的問題發佈。 – 2012-03-21 11:24:55