Java,如何制作一个jar来编辑另一个jar
我想出了一个主意,为我的学校做一个程序,在那里老师输入问题和答案a、B、C、D等,然后创建一个jar文件,这将是实际的测试程序。现在我知道如何制作这个程序,直到从老师那里收集所有的数据,但是我不知道如何继续。我的想法是,教师的jar将与示例就绪的“测试jar”(其他问题和答案存储在其变量中)位于同一文件夹中,当教师就绪时,他们的jar将只编辑“测试jar”变量,然后他们可以将“测试jar”交给学生,虽然我不知道如何从另一个jar编辑jar文件的代码。我怎样才能做到这一点?Java,如何制作一个jar来编辑另一个jar,java,file-io,executable-jar,Java,File Io,Executable Jar,我想出了一个主意,为我的学校做一个程序,在那里老师输入问题和答案a、B、C、D等,然后创建一个jar文件,这将是实际的测试程序。现在我知道如何制作这个程序,直到从老师那里收集所有的数据,但是我不知道如何继续。我的想法是,教师的jar将与示例就绪的“测试jar”(其他问题和答案存储在其变量中)位于同一文件夹中,当教师就绪时,他们的jar将只编辑“测试jar”变量,然后他们可以将“测试jar”交给学生,虽然我不知道如何从另一个jar编辑jar文件的代码。我怎样才能做到这一点? 提前谢谢 基本上,ja
提前谢谢 基本上,jar只是一个Zip文件 Java通过位于 java.util.zip 包裹 您的代码将如下所示:
ZipOutputStream outStream = new ZipOutputStream(new FileOutputStream(zipFileName));
// Add a zip entry to the output stream
outStream.putNextEntry(new ZipEntry(myEntryName));
// add data to your entry by writing to outStream
......
......
//Close zip entry and file streams
outStream.closeEntry();
完整的jar基本上就是一个Zip文件 Java通过位于 java.util.zip 包裹 您的代码将如下所示:
ZipOutputStream outStream = new ZipOutputStream(new FileOutputStream(zipFileName));
// Add a zip entry to the output stream
outStream.putNextEntry(new ZipEntry(myEntryName));
// add data to your entry by writing to outStream
......
......
//Close zip entry and file streams
outStream.closeEntry();
和完整的如果您试图用可定制的问题和答案进行测验,我建议您使用文本文件存储选项(问题和答案,可能还有诸如多项选择或输入有效值或选择一项之类的问题类型) 对于文件的格式,可以使用xml或简单地使用java.util.Properties,使用其存储和加载保存到文件中 您的属性可以是“totalNumberQuestions”、“question1”“questionType1”“question1选项1”等 现在,在主程序中查找一个文件: *如果progrtam以args.length>0开头,请在单独的try catch中查找arg[0]的文件,因此即使没有,也会显示错误消息并继续
- 如果在与程序相同的文件夹中未找到或没有名为“data.txt”的参数,则表示: 文件f=新文件(“data.txt”); 如果(f.exists()){//读取输入输出流
- 从jar getClassLoader()中的类加载器获取else(在java.lang.class中查找实际函数名
jar ufMv quiz.jar data.txt
要使用jar创建新的zip,请执行以下操作:
jar cvfM quiz.jar data.txt yourPackage.*.class
如果您尝试使用可定制的问题和答案进行测验,我建议您使用文本文件来存储选项(问题和答案,以及可能的问题类型,如多项选择或输入有效值或选择一项) 对于文件的格式,可以使用xml或简单地使用java.util.Properties,使用其存储和加载保存到文件中 您的属性可以是“totalNumberQuestions”、“question1”“questionType1”“question1选项1”等 现在,在主程序中查找一个文件: *如果progrtam以args.length>0开头,请在单独的try catch中查找arg[0]的文件,因此即使没有,也会显示错误消息并继续
- 如果在与程序相同的文件夹中未找到或没有名为“data.txt”的参数,则表示: 文件f=新文件(“data.txt”); 如果(f.exists()){//读取输入输出流
- 从jar getClassLoader()中的类加载器获取else(在java.lang.class中查找实际函数名
jar ufMv quiz.jar data.txt
要使用jar创建新的zip,请执行以下操作:
jar cvfM quiz.jar data.txt yourPackage.*.class
你最好建立一个问答数据库。教师程序将写入数据库,孩子的程序将读取数据库。你最好建立一个问答数据库。教师程序将写入数据库,孩子的程序将读取数据库。制作一个输出文件从输入jar导入这个文件到另一个jar中使用。是的,听起来不错,但是你能将我重定向到一个源,告诉我如何将一个文件导入到ready.jar中吗?从输入jar生成一个输出文件,然后将这个文件导入到另一个jar中使用。是的,听起来不错,但是你能将我重定向到一个源,告诉我如何使用是否可以将文件导入ready.jar?请记住在使用Java.util.zip的情况下使用Java 7。以前的版本中存在一些令人讨厌的错误(带有编码)。请记住在使用Java.util.zip的情况下使用Java 7。以前的版本中存在一些令人讨厌的错误(带有编码)。