Постоянство с файлами в JSF - PullRequest
0 голосов
/ 18 марта 2012

Прежде всего, я хочу поблагодарить вас за помощь, которую вы можете оказать мне,

Я занимаюсь разработкой JSF веб-приложения, с текущим 2.1.7 JSF version.

На самом деле, у меня есть страница входа, связанная с сессионным компонентом, который вызывает логический класс " PersonCatalog ", который отвечает за чтение текстового файла .txt с информацией о людях, например, в базе данных, но с файлами.

Проблема в том, чтобы получить доступ к файлу,
когда я получаю NullException, потому что программа не находит файл. Я не уверен в пути, который я выбрал, вот иерархия каталогов:

Применение

 |-- 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(), но он отображается только внутри папки веб-контента.

Я использую eclipse , и по умолчанию используется папка установки Eclipse, это так странно:

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

и отпечатки

 C:/Eclipse/

Заранее спасибо за помощь, привет

1 Ответ

0 голосов
/ 19 марта 2012

Корнем развернутого веб-приложения в этом случае будет папка WebContent, которая содержит WEB-INF.

В развернутой версии файлы src скомпилированы в файлы классов и помещены в следующую папку classes.

Путь к персоне .txt будет \WEB-INF\classes\eci\pdsw2012\shoeople\persistence\files\persons.txt

...