我有一个Main.java文件,我想运行程序传递test.txt
我知道在命令行中我可以编写javac Main.java
编译后我可以写java Main test.txt,这将完成运行文件和传递test.txt
如果我想要能够只是编写main test.txt并拥有触发器,我的Main.class文件就可以运行,如果是这样的话,怎么样?
(编辑:根据您的评论,让我扩展以添加更多情况)
如果您的目标是让其他未安装 Java 的人运行您的程序,并且您不希望他们在运行您的应用程序之前安装 Java 运行时环境,那么您需要的是一个能够转换 .class 或 .jar 的程序文件转换为您正在使用的平台的本机可执行文件。如何做到这一点已在其他问题中介绍过,例如:Compiling a java program into anexecutive。本质上,您可以使用 JCG(GNU Compiler for Java)或 Excelsior JET(商业产品)之类的程序将字节代码扩展为内置迷你 JRE 的完整本机代码。
如果您的目标是减少打字,可以采取多种策略。其他人建议使用别名命令,该命令在 Linux 上运行良好。
可以随程序一起提供的稍微更便携的选项是 shell 脚本。当然,shell 脚本只能在 Linux 或安装了 shell 脚本解释器的其他操作系统上运行。
下面是一个 shell 脚本示例。您将其粘贴到文本编辑器中并将其保存为不带扩展名的主文件。$1 传递参数参数 fyi。
#!/bin/sh
java Main $1
Run Code Online (Sandbox Code Playgroud)
假设您将 shell 脚本命名为“main”,不带扩展名,您main test.txt现在可以调用来执行您的程序。
如果您使用的是 Windows,则可能需要创建一个 Windows 快捷方式,并将快捷方式指向“java Main test.text”,如有必要,请使用完整路径(如果尚未设置路径)。当然,这并不意味着每次运行时都可以轻松更改参数,您必须编辑快捷方式。