我为家庭作业制作了缓存模拟器程序,我决定使用java。我想创建一个可在任何系统上运行的可执行jar文件,但问题是我的程序从外部文本文件中收集数据。如何在jar中包含该文本文件,以便在执行文件时不会出现任何问题?顺便说一句,我正在使用NetBeans IDE。
答案 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文件输入文件
此命令中使用的选项和参数是:
方法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);
}
}