【问题标题】:Reading a file into compiled jar by relative path通过相对路径将文件读入编译的jar
【发布时间】:2013-11-09 10:47:10
【问题描述】:

你如何将一个文件读入一个程序,该程序通过它的本地目录编译到它旁边的一个 jar 中?读取的类型将是一个简单的 .txt 文件。

【问题讨论】:

  • 您应该更详细地阐述您的问题以使其更清楚。除了问题是有效的,不值得负面标记。

标签: java file url jar directory


【解决方案1】:

这取决于程序的用途。你知道 jar 应该如何执行吗?当您尝试运行它时,它是否会吐出“usage: somejar firstarg secondarg”类型的消息?

另外,如果它是你编译的 jar 并且你知道它应该如何执行,那么你可能忘记设置它的主类或清单。

检查这个:http://www.mkyong.com/java/how-to-make-an-executable-jar-file/

【讨论】:

    【解决方案2】:

    如果您想读取存在于外部 .jar 文件中的文件,您需要先在代码中解压缩 .jar 文件,然后再检索该文件。您可以使用 Java 的 zip API 来执行此操作。如果是这种情况,请参阅此答案:Easiest way to unpack a jar in java

    如果您想读取与您的代码正在执行的同一 .jar 文件中的文件,您可以将该文件作为资源获取。看到这个答案:Get a resource using getResource()

    如果文件与可执行文件 .jar 位于完全相同的目录中,请创建一个新文件,如下所示:

    File input = new File("myfile.txt");
    

    【讨论】:

    • 我的意思是如果你的程序是一个可运行的 jar 并且你有一个文件放在它旁边,而它们都在同一个文件夹中。
    • 如果你只需要读取一个没有打包在jar中的外部文件,只需新建一个文件并传递文件名即可。查看我的编辑。
    猜你喜欢
    • 2023-03-09
    • 2011-06-30
    • 1970-01-01
    • 2014-09-18
    • 1970-01-01
    • 2016-04-09
    • 1970-01-01
    • 1970-01-01
    • 2012-02-27
    相关资源
    最近更新 更多