Java:访问与源文件位于同一目录中的文件

时间:2014-01-04 04:04:57

标签: java embedded-resource

  1. 如何访问与源文件位于同一目录的文件?我已经在教程中看到过它并且它非常简单,但我对这个主题的任何搜索都过于宽泛。任何帮助?即

    doSomething("file.xml")

  2. 如何访问与我正在使用的源文件相关的文件?我还没有看到如何执行此操作,但因为它是第一个可接受的解决方案问题,这里是:即

    doSomething("src/com.package.file.xml")

  3. 我真的只想要一种独立于平台的方式来访问我项目中的文件。我知道它可能是重复但请不要恨我。

1 个答案:

答案 0 :(得分:1)

一般来说,你不应该

在构建和部署应用程序时,将无法访问存储在src目录中的文件(特别是在Eclipse中)。

Netbeans会在构建时将这些文件打包为Jar的一部分,Eclipse要求您将这些文件存储在项目中单独的“资源”目录中。

此时,它们被称为“嵌入式资源”,不再像普通文件那样被访问,而是需要通过类中可用的资源功能加载。

例如。

要访问com/package/file.xml中的资源,您通常会使用某些内容,例如......

getClass().getResource("/com/package/file.xml");

这将返回URL,表示对资源的引用。如果它更加坦诚,您还可以使用类似的东西直接获得InputStream资源。

getClass().getResourceAsStream("/com/package/file.xml");

这会将InputStream返回到指定的资源...

这当然都假设可以找到资源;)