在java中传递-d选项
我正在解决一个问题,其中要求程序应该允许用户使用-d命令行选项设置参数。java是否提供了使用-d选项传递参数的机制?我找不到任何选项,所以我将其解释为命令行选项值为-d,这意味着用户希望接下来输入参数在java中传递-d选项,java,Java,我正在解决一个问题,其中要求程序应该允许用户使用-d命令行选项设置参数。java是否提供了使用-d选项传递参数的机制?我找不到任何选项,所以我将其解释为命令行选项值为-d,这意味着用户希望接下来输入参数 if ( args[0].equals("-d") ) { parameter = args[0]; } 这样检查对吗?是否有更好的方法检查用户是否输入了-d选项?java是否为此提供了其他机制?如果有人用/yourapp-something-d运行程序会怎么样? 现在参数-d存在,
if ( args[0].equals("-d") )
{
parameter = args[0];
}
这样检查对吗?是否有更好的方法检查用户是否输入了
-d
选项?java是否为此提供了其他机制?如果有人用/yourapp-something-d
运行程序会怎么样?
现在参数-d存在,但不在位置0上
所以,我的建议是遍历所有的参数并检查您需要什么
int i;
boolean dParam = false;
for (i = 0; i < args.length; i++) {
if (args[i].equals("-d")) {
dParam = true;
}
}
inti;
布尔值dParam=false;
对于(i=0;i
如果您希望用户在-d之后输入一些内容,例如文件名,那么我建议您这样做:
int i;
boolean dParam = false;
String dParamValue;
for (i = 0; i < args.length; i++) {
if (args[i].equals("-d")) {
dParam = true;
dParamValue = args[++i];
}
}
inti;
布尔值dParam=false;
字符串参数值;
对于(i=0;i
如果有人用/yourapp-something-d
运行该程序怎么办?
现在参数-d存在,但不在位置0上
所以,我的建议是遍历所有的参数并检查您需要什么
int i;
boolean dParam = false;
for (i = 0; i < args.length; i++) {
if (args[i].equals("-d")) {
dParam = true;
}
}
inti;
布尔值dParam=false;
对于(i=0;i
如果您希望用户在-d之后输入一些内容,例如文件名,那么我建议您这样做:
int i;
boolean dParam = false;
String dParamValue;
for (i = 0; i < args.length; i++) {
if (args[i].equals("-d")) {
dParam = true;
dParamValue = args[++i];
}
}
inti;
布尔值dParam=false;
字符串参数值;
对于(i=0;i
传递给正在运行的程序的所有参数都通过main方法中的参数String[]args进入应用程序
然后,只需检查参数数组是否包含该键,就可以检查字典是否已被请求
例子:
传递给正在运行的程序的所有参数都通过main方法中的参数String[]args进入应用程序 然后,只需检查参数数组是否包含该键,就可以检查字典是否已被请求 例子:
我认为这个要求是指
-D
(大写),而不是-D
。这些选项用于向java传递额外的参数。例如,-Dmy.option=value
。在这种情况下,您可以通过系统
类访问此属性:
String myOption = System.getProperty("my.option");
我认为这个要求是指
-D
(大写),而不是-D
。这些选项用于向java传递额外的参数。例如,-Dmy.option=value
。在这种情况下,您可以通过系统
类访问此属性:
String myOption = System.getProperty("my.option");
使用命令行参数解析器。(无隶属关系)是我的首选-还有其他。那么
parameter=“-d”
,或null
-这就是您想要的吗?例如,看看ApacheCommons CLI;并使用命令行参数解析器。(无隶属关系)是我的首选-还有其他。那么parameter=“-d”
,或null
-这就是您想要的吗?例如,看看ApacheCommons CLI;这看起来就像是重新发明了一个轮子。你的车充其量也有点方形……它不是在改造轮子。这是OP的初始代码的更新版本,可以正常工作。这看起来就像是重新发明了一个轮子。你的车充其量也有点方形……它不是在改造轮子。这是OP的初始代码的更新版本。