【问题标题】:How to create a file/folder from jar in Java?如何从 Java 中的 jar 创建文件/文件夹?
【发布时间】:2021-02-22 20:09:30
【问题描述】:

我已将我的 JavaFX 项目转换为 jar 文件,这些帖子帮助我成功地从本地环境中读取了项目所需的媒体文件:

现在在项目的一部分中,我需要在项目运行期间在我的电脑中创建一个文件夹,该文件夹将存储通过程序获得的一些数据。现在我正在使用这个命令来执行这个目的:

String file_name= String.valueOf(Main.class.getResource("data stored/"+name+"-"+Long.toString(time)));
    new File((file_name)).mkdirs();

在这里,我只是按照用于读取文件的类似步骤(在附加帖子中提到)。但是当我运行 jar 文件时,一切正常,只是没有创建文件夹。如果我不写这部分:Main.class.getResource,jar 文件会显示一个明显的错误。我认为原因可能是,为了阅读,它需要主类的引用,但对于创建文件夹,相对于类的引用是不正确的。

我的主课路径: src/brainwave/Main.java

我要创建的文件夹的路径: src/data stored

请问有什么建议可以解决这个问题吗? 谢谢。

【问题讨论】:

  • 请保持您的标签集中 - 这是纯 java,与 javafx 无关。并在公开展示代码时遵守 java 命名约定
  • 您不能在应用程序运行时修改 jar 文件。如果你想这样做,你将不得不对 jar 进行一些创造性的复制、添加文件夹、重新打包,然后运行新版本...
  • a .jar 只是打包您的 java 应用程序以进行分发的一种方式 - 本质上它是一个 .zip 文件,其中包含有关存储在其中的 java 应用程序的一些信息...
  • 如何获取文件应该保存的路径?

标签: java jar


【解决方案1】:

getResource 将检索到 JAR 文件的路径,以防类文件也来自那里;如果不是从 JAR 运行,则为 普通 路径。

使用纯 File 获取未保存在 JAR 中的文件/目录(例如 new File("data/files/"))的路径

【讨论】:

    猜你喜欢
    • 2015-09-09
    • 2015-04-24
    • 2015-05-22
    • 1970-01-01
    • 1970-01-01
    • 2016-12-08
    • 2012-07-14
    • 2013-09-28
    • 2012-05-19
    相关资源
    最近更新 更多