所以这似乎是一个微不足道的问题,但我找不到任何可以回答我的问题的信息。尽管如此,这是一个非常普遍的编码问题。
假设您有一个 java 程序,它读取文件并根据文件提供的信息创建数据结构。所以你这样做:
javac javaprogram.java
java javaprogram
很简单,但我在这里想要做的是为程序提供在命令行中指定的文件,如下所示:
javac javaprogram.java
java javaprogram -file
我必须编写什么代码才能结束这个问题? 谢谢。
最佳答案
Java 最好的命令行实用程序库之一是 JCommander .
根据您的线程描述,一个简单的实现是:
public class javaprogram {
@Parameter(names={"-file"})
String filePath;
public static void main(String[] args) {
// instantiate your main class
javaprogram program = new javaprogram();
// intialize JCommander and parse input arguments
JCommander.newBuilder().addObject(program).build().parse(args);
// use your file path which is now accessible through the 'filePath' field
}
}
在编译 javaprogram.java 类文件时,您应该确保库 jar 在您的类路径下可用。
否则,如果您不需要程序参数周围的实用程序,您可以保持程序条目足够简单,将文件路径读取为原始程序参数:
public class javaprogram {
private static final String FILE_SWITCH = "-file";
public static void main(String[] args) {
if ((args.length == 2) && (FILE_SWITCH.equals(args[0]))) {
final String filePath = args[1];
// use your file path which is now accessible through the 'filePath' local variable
}
}
}
关于java - 在控制台执行run命令时如何为java程序提供外部文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52723400/