【问题标题】:My files doesn't include in jar file Java我的文件不包含在 jar 文件 Java 中
【发布时间】:2018-03-17 07:28:50
【问题描述】:

我有一个创建 2 个 txt 文件的代码。它可以工作。但是当我将我的应用程序打包到 .jar 文件时,我找不到我的 txt 文件并且我的应用程序无法读取它们。

 try {
    KeyGenerator  kg = KeyGenerator.getInstance("DESede");
    SecretKey key = kg.generateKey();
    Cipher cipher = Cipher.getInstance("DESede");
    cipher.init(Cipher.ENCRYPT_MODE, key);
    ObjectOutputStream oos = new ObjectOutputStream(new CipherOutputStream(new FileOutputStream("saves/data.ttg"), cipher));
    oos.writeObject("" + CurrentMoney);
    fos = new FileOutputStream("saves/key.ttg");
    SecretKeyFactory skf = SecretKeyFactory.getInstance("DESede");
    DESedeKeySpec keyspec = (DESedeKeySpec) skf.getKeySpec(key, DESedeKeySpec.class);
    fos.write(keyspec.getKey());
    fos.close();
    oos.close();
} catch (NoSuchAlgorithmException e) {
    e.printStackTrace();
}

有什么问题?

PS 我使用 Intellij IDEA

P.P.S 这是 JavaFX 项目(如果它可以有所作为)

【问题讨论】:

  • 文件将被添加到.jar 只有当它们在你的应用程序的构建路径上。您的应用是否应该只创建一次这些文件,然后永远重复使用它们?
  • 是的,应该创建一次。
  • 请澄清:您是要在 jar 中打包文件并在运行时将它们读回,还是要在运行时将文件写入(到文件系统),然后再将这些文件读回?
  • 在 prog 运行和稍后读取时尝试写入文件
  • 可能工作目录与从 jar 文件运行时所期望的不同。你试着写信给saves/key.ttg。如果当前工作目录中缺少saves 目录,则不会创建它,因此保存/读取失败。

标签: java file jar


【解决方案1】:

问题解决了! 我使用了 Maven。 https://maven.apache.org/ 易于打包到 exe 或 jar。强烈推荐:D

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-21
    • 2013-04-03
    • 2017-02-16
    相关资源
    最近更新 更多