【问题标题】:How to create executable file in Java using Netbeans如何使用 Netbeans 在 Java 中创建可执行文件
【发布时间】:2015-01-25 13:33:31
【问题描述】:

我为家庭作业做了一个缓存模拟器程序,我决定使用java。我想创建一个可以在任何系统上运行的可执行 jar 文件,但问题是我的程序从外部文本文件收集数据。如何在 jar 中包含该文本文件,以便在执行文件时不会出现任何问题?顺便说一句,我正在使用 NetBeans IDE。

【问题讨论】:

    标签: java netbeans jar executable


    【解决方案1】:

    如果您不需要写入文件,请复制到src 目录。您将无法再像 File 一样访问,而是需要使用 Class#getResource,将源树顶部的路径传递到文件存储位置。

    例如,如果你把它放在src/data 中,那么你需要使用getClass().getResource("/data/..."),将文件名传递给它......

    清理并构建...

    【讨论】:

      【解决方案2】:

      是的,我说是的。真正使您的 jarfile 与文本文件一起制作。请确保链接到文本文件所在文件夹的正确编码和良好链接。 下面的三个示例方法应该可以让您无论使用任何 IDE 都可以工作。如果您还需要进一步的帮助,请给我打分并大声喊叫.......Sectona

      方法一

      第 1 步:- 使用 cd 命令找到包含您的 java 文件的文件夹。

      第 2 步:- 输入文件夹位置后,通过 dir 查看您的 java 文件 命令。

      第 3 步:- 使用编译您的 java 文件 javac文件.java

      第 4 步:- 通过键入 dir 命令查看类文件。

      第 5 步:- 现在您要创建一个清单文件。

      I)Go to folder<br>
      II)Right-click->New->Text Document
      III)open text document. Type main class name ,
           Main-Class: main-class-name
      IV)Save this file your wish like MyManifest.txt 
      

      第 6 步:- 创建可执行的 jar 文件类型

        jar cfm JarFileName.jar MyManifest.txt JavaFike1.class JavaFile2.class
      

      第 7 步:- 现在您可以在文件夹中看到可执行 jar 文件。点击文件即可 运行。

      第 8 步:- 要通过命令提示符运行此文件,然后键入 java -jar JarFileName.jar

      第 9 步:- 你完成了这个..........Sectona

      方法二

      创建JAR文件的命令基本格式为:

      jar cf jar-file 输入文件

      此命令中使用的选项和参数是:

      • c 选项表示您要创建 JAR 文件。
      • f 选项表示您希望输出到文件而不是标准输出。
      • jar-file 是您希望生成的 JAR 文件具有的名称。您可以为 JAR 文件使用任何文件名。按照惯例,JAR 文件名的扩展名为 .jar,但这不是必需的。
      • input-file(s) 参数是以空格分隔的一个或多个要包含在 JAR 文件中的文件的列表。 input-file(s) 参数可以包含通配符 * 符号。如果任何“输入文件”是目录,则这些目录的内容会递归地添加到 JAR 存档中。

      方法三

      import java.io.*;
      import java.util.jar.*;
      
      public class CreateJar {
        public static int buffer = 10240;
        protected void createJarArchive(File jarFile, File[] listFiles) {
          try {
            byte b[] = new byte[buffer];
            FileOutputStream fout = new FileOutputStream(jarFile);
            JarOutputStream out = new JarOutputStream(fout, new Manifest());
            for (int i = 0; i < listFiles.length; i++) {
              if (listFiles[i] == null || !listFiles[i].exists()|| listFiles[i].isDirectory())
            System.out.println();
              JarEntry addFiles = new JarEntry(listFiles[i].getName());
              addFiles.setTime(listFiles[i].lastModified());
              out.putNextEntry(addFiles);
      
              FileInputStream fin = new FileInputStream(listFiles[i]);
              while (true) {
                int len = fin.read(b, 0, b.length);
                if (len <= 0)
                  break;
                out.write(b, 0, len);
              }
              fin.close();
            }
            out.close();
            fout.close();
            System.out.println("Jar File is created successfully.");
          } catch (Exception ex) {}
        }
        public static void main(String[]args){
          CreateJar jar=new CreateJar();
          File folder = new File("C://Answers//Examples.txt");
            File[] files = folder.listFiles();
          File file=new File("C://Answers//Examples//Examples.jar");
          jar.createJarArchive(file, files);
        }
      } 
      

      【讨论】:

        【解决方案3】:

        您可以将任何文件保存在类路径中并作为类路径资源读取。示例代码如下。

        InputStream in = this.getClass().getClassLoader().getResourceAsStream("yourinputFile.txt");
        

        您的 jar 将是类路径,这意味着您可以将文件保存在 java 源代码的根文件夹中,该文件夹将在构建时添加到 jar 文件中。

        【讨论】:

        • 请在此处提供信息,因为链接可能会损坏
        猜你喜欢
        • 2010-12-29
        • 2016-11-08
        • 1970-01-01
        • 2018-08-16
        • 1970-01-01
        • 1970-01-01
        • 2013-08-20
        • 2012-12-18
        • 2013-02-20
        相关资源
        最近更新 更多