Java在构建路径上添加和访问资源

时间:2012-09-26 00:12:17

标签: java classpath

我正在设置一个项目,该项目需要与应用程序一起提供的几个非Java资源,我已在项目根目录中创建了一个目录结构。

src/                           - Java packages and classes
resource/media/icons/          - Button, form and table icons
resource/media/images/         - Report and application images
resource/media/reports/        - Jasper report templates
resource/help/                 - Help documentation

我通过将资源目录添加为源文件夹将其添加到类路径中,这是正确的方法吗?

当我导出项目时,资源是否也会导出?

我应该如何访问这些文件,访问资源/ media / reports /目录中的ShippintTimes报告模板的URL是什么?

// Current example accessing a report
String reportUrl = "resource/media/reports/ShippintTimes.jasper"

我是否需要做任何事情才能使URL操作系统独立?

是否存在关于在何处放置非Java应用程序资源的约定?

我知道有几个问题,任何提示帮助或示例如何构建我的项目报告将非常感激。

1 个答案:

答案 0 :(得分:0)

只要您的资源文件夹位于类路径中,就可以通过以下方式引用项目中的资源:

getClass().getResourceAsStream("path");

请注意,此处的绝对路径不以/开头,相对路径以/
开头 参见:File loading by getClass().getResource()