我想从src/datatable/中的indexbean.java读取webcontent/resources/db/中的models.txt。如何设置文件路径
sc = new Scanner(new File(filePath));
我知道我可以通过绝对路径来实现,但我想知道如何通过相对路径来实现。
另一件有趣的事情是:在indexbean.java(它是一个Javabean)中,如果我运行以下代码,我将得到eclipse.exe的路径。如果我在testfileread.java中的同一个包(不是JavaBean)中运行相同的代码,我将获得应用程序工作区的路径。有人能解释一下吗?谢谢!
File dir1 = new File("..");
try {
System.out.println("Current dir : " + dir1.getCanonicalPath());
} catch (IOException e1) {
e1.printStackTrace();
}
2条答案
按热度按时间pb3skfrl1#
我认为@joop eggen已经为你提出了最好的解决方案。但是,有时可以将环境变量设置为文件路径,并在不同的环境中推动代码时更改它。
hjzp0vay2#
首先,这类内部文件应该位于不可访问的位置,即
WebContent/WEB-INF
.你可以得到一个文件系统文件:
如果将文件存储为实际资源(在类路径中),则可以使用:
请指定字符编码:
因此,无论是在windows下开发还是在linux服务器上部署,都使用相同的编码。因为默认编码依赖于平台。