【发布时间】:2012-04-03 02:57:19
【问题描述】:
我正在开发一个JSF Web 应用程序,当前使用的是2.1.7 JSF version。
实际上,我有一个登录页面,与会话 bean 相关联,
调用逻辑类“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(),但它只显示在 Web-content 文件夹中。
我用的是Eclipse,默认路径是Eclipse的安装文件夹,好奇怪:
String ruta = System.getProperty("user.dir");
System.out.println("DirAbs: " + ruta.getAbsolutePath());
和打印
C:/Eclipse/
【问题讨论】:
标签: java eclipse jsf path relative-path