簡體   English   中英

如何使用Netbeans在Java中創建可執行文件

[英]How to create executable file in Java using Netbeans

我做了一個用於家庭作業的緩存模擬器程序,因此決定使用Java。 我想創建一個可以在任何系統上運行的可執行jar文件,但是問題是我的程序從外部文本文件收集數據。 我如何在jar中包含該文本文件,以便在執行文件時不會出現任何問題? 順便說一句,我正在使用NetBeans IDE。

如果不需要寫入文件,請復制到src目錄。 您將不再能夠像File一樣進行訪問,而是需要使用Class#getResource ,將從源樹頂部到文件存儲位置的路徑傳遞給它。

例如,如果將其放在src/data ,則需要使用getClass().getResource("/data/...") ,將文件的名稱傳遞給它...

清潔並建造...

您可以將任何文件保留在classpath中,並作為類路徑資源讀取。 示例代碼如下。

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

您的jar將是類路徑,這意味着您可以將文件保存在Java源代碼的根文件夾中,該文件將在構建時添加到jar文件中。

是的,我說是的。 真正使您的jarfile和文本文件一起。 請確保正確鏈接到文本文件所在文件夾的鏈接並正確鏈接。 不管使用哪種IDE,以下三種示例方法都可以使您工作。 請對此評分,如果您仍然需要進一步的幫助,請給我喊叫。

方法1

步驟1:-使用cd命令找到包含Java文件的文件夾。

步驟2:-輸入文件夾位置后,即可通過dir命令查看Java文件。

步驟3:-使用javac file.java編譯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:-您已完成此操作。

方法2

用於創建JAR文件的命令的基本格式為:

jar cf jar文件輸入文件

此命令中使用的選項和參數是:

  • c選項表示您要創建一個JAR文件。
  • f選項表示您希望輸出到文件而不是stdout。
  • jar-file是您希望生成的JAR文件具有的名稱。 您可以將任何文件名用於JAR文件。 按照約定,JAR文件名的擴展名為.jar,盡管這不是必需的。
  • input-file(s)參數是一個空格分隔的列表,其中包含要包含在JAR文件中的一個或多個文件。 輸入文件參數可以包含通配符*符號。 如果任何“輸入文件”是目錄,則這些目錄的內容將遞歸添加到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);
  }
} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM