我在Eclipse上的项目中附加了一个csv文件,这个项目有一个servlet,它部署在本地JBoss服务器上进行开发。
我想访问这个csv文件,我可以使用计算机上的绝对路径,如下所示:
CSVExtractor csvE = new CSVExtractor("C:/workspace/myproject/WebContent/data.csv");
这种方法的问题在于它在任何方面都不便携。我相信JBoss我提供了一种方法,所以我可以访问我的项目中的文件,但我没有找到它。什么是首选方法?
PS:我也认为在我的WebContent文件夹中放置这样的文件是一种不好的做法,将这类内容与用户隔离的最佳方法是什么?
答案 0 :(得分:0)
将其添加到类路径(WEB-INF / classes或lib)并将其作为类路径资源进行访问。这是一个example。类路径资源是可移植的,与它们与部署存档本身捆绑在一起不同。
以下是tutorial,您可以开始使用。
答案 1 :(得分:0)
您可以创建一个指定目录的属性文件。这将允许您的用户修改目录并热插拔.csv而无需重新部署存档。
答案 2 :(得分:0)
试试这个:
String path = Thread.currentThread().getContextClassLoader().getResource("language/file.xml").getPath();
File f = new File(path);
System.out.println(f.getAbsolutePath());