在java中,执行jar时是否可以知道指定的输出文件?
英语: 在java中,执行jar时是否可能知道指定的输出文件(无需解析参数)?例如,使用此命令:在java中,执行jar时是否可以知道指定的输出文件?,java,file,output,Java,File,Output,英语: 在java中,执行jar时是否可能知道指定的输出文件(无需解析参数)?例如,使用此命令: java -jar application.jar 1> output.log 2> error.err Java可以知道默认输出在output.log中,错误在error.err中 法兰西: 有没有可能是因为飞机起飞时没有参数 第5部分:执行命令的示例: java -jar application.jar 1> output.log 2> error.err 您将输出
java -jar application.jar 1> output.log 2> error.err
Java可以知道默认输出在output.log中,错误在error.err中
法兰西:
有没有可能是因为飞机起飞时没有参数
第5部分:执行命令的示例:
java -jar application.jar 1> output.log 2> error.err
您将输出重定向到文件的方式是在操作系统级别完成的,而不是在java级别完成的,因此不可能像您这样做 [Alernate way] 如果您显式地将文件名作为java arg发送到程序并手动更改系统输出流,那么这是唯一可行的方法 运行命令
java -jar application.jar output.log error.err
主类
public static void main(String[] args){
// file names will be available as args[1] and args2[]
String outputFileName = args[1];
String errorOutputFileName = args[2];
System.setOut(new PrintStream(new BufferedOutputStream(new FileOutputStream(args[1]))));
System.setErr(new PrintStream(new BufferedOutputStream(new FileOutputStream(args[2]))));
// ...
}
您想知道Main()方法中output.log和error.err文件名的名称吗?我能想到的唯一方法是所有特定于平台和/或涉及JNI的方法。甚至这些也可能不可靠。对于初学者,请参阅Ok,我将解析应用程序的参数以找到它们。。。谢谢