如何使用Netbeans在Java中创建可执行文件

时间:2014-11-27 03:07:00

标签: java netbeans jar executable

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

3 个答案:

答案 0 :(得分:2)

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

例如,如果您将其放在src/data中,那么您需要使用getClass().getResource("/data/..."),并将文件命名为... {/ p>

清洁并建造...

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

是的,我说是的。要真正使你的jar文件与文本文件一起。请确保链接指向文本文件正确编码且链接良好的文件夹。 下面的三个示例方法应该让您无论任何IDE都可以工作。如果你还需要进一步的帮助,请评价这个并给我一个喊叫....... Sectona

方法1

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

步骤2: - 输入文件夹位置后,再按dir查看java文件 命令。

步骤3: - 使用编译java文件          javac file.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

方法2

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

jar cf jar文件输入文件

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

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

方法3

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);
  }
}