【问题标题】:How to load a file in an imported Java project?如何在导入的 Java 项目中加载文件?
【发布时间】:2012-02-13 10:37:24
【问题描述】:

我正在开发一个实现常见功能的 Java 项目。这个项目使用了一些 xslt 文件。实际上我使用相对路径“file/xslt”打开这些文件,这是有效的(默认路径是“/”,位于我的文件系统中的“PLACE1”中,因此获得的路径是“PLACE1/file/xslt”)。

然后我新建一个项目,导入之前的项目并尝试使用它的功能,但是显然这不起作用:在库中,需要的xslt文件的相对路径是使用第二个的默认路径计算的项目(位于我的文件系统中的“PLACE2”,因此获得的路径是“PLACE2/file/xslt”)。

我该如何处理这个问题?

【问题讨论】:

    标签: java file path project relative-path


    【解决方案1】:

    将您的 xslt 文件与使用它们的类放在同一个包中(或在项目的源根目录中),然后使用路径为“file.xslt”或“/file.xslt”的 Class.getResourceAsStream - 此方法搜索指定资源的类路径。

    这样在项目构建的时候,资源(比如这些xslt文件)会被复制到带有*.class文件的合适目录中,并相应的放在一个jar文件中。

    例如当类 MyClass 和文件 1.xslt 在同一个包中时:

    InputStream xsltIn = MyClass.class.getResourceAsStream ("1.xslt");

    如果文件 2.xslt 位于源根目录(默认无名包):

    InputStream xsltIn = MyClass.class.getResourceAsStream ("/2.xslt");

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-18
      • 1970-01-01
      • 2011-07-05
      相关资源
      最近更新 更多