【问题标题】:How to read file at the same location of my jar, platform independent way? [closed]如何以独立于平台的方式在我的 jar 的同一位置读取文件? [关闭]
【发布时间】:2014-08-05 16:57:51
【问题描述】:

我有一个文件夹,里面有一个名为readme.txt 的文件。我的应用程序将在 Linux 和 DOS 环境中运行。如果不写“c::\ ... \”或“~/Desktop ...”之类的完整路径,如何在Eclipse中使用Java读取文件内容?

目录结构

 project home path
    | ------ src // (folder)
    | ------ test // (folder)
    | ------ resource // (folder)
                | -------- datasetX // (folder)
                               | ------- readme.txt

我做了但没有工作。

this.getClass().getResourceAsStream("readme.txt")

更新 1:如果可能,

我不希望 readme.txt 在最后的 Jar 文件中。资源应该是可选文件夹,不应该和Jar文件一起分发。

只是告诉你不要犯同样的错误,这个问题与that question 重复关闭,甚至没有比较两者。即使在that question 中的回答也不适用于我的。

【问题讨论】:

    标签: java


    【解决方案1】:

    如果您的范围仅适用于 IDE,则 eclipse 默认将当前目录设置为项目的根目录,您可以从那里导航,

    例如

    File readMe = new File("./resource/datasetX/readme.txt");
    

    如果您的应用将在某个时候导出为 JAR,请确保将 readme.txt 放入类路径中,并将其作为资源读取并使用正确的路径

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多