如何访问与源文件位于同一目录的文件?我已经在教程中看到过它并且它非常简单,但我对这个主题的任何搜索都过于宽泛。任何帮助?即
doSomething("file.xml")
如何访问与我正在使用的源文件相关的文件?我还没有看到如何执行此操作,但因为它是第一个可接受的解决方案问题,这里是:即
doSomething("src/com.package.file.xml")
我真的只想要一种独立于平台的方式来访问我项目中的文件。我知道它可能是重复但请不要恨我。
答案 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
返回到指定的资源...
这当然都假设可以找到资源;)