ParseOptions类主要用来解析命令行参数,例如
String options[] = { "-v", "-c", "-p", "-r", "-t", "-m" , "-d" };
String values[] = { null, null, null, null, null, null, "None"};
则,values数组中将存储解析后的各个参数的值。
运行实例:
c:/>java snmpget -v v1 -c public -p 8001 -m rfc1213.txt 202.117.48.33 .1.3.6.1.2.1.1.1.0
中,ParseOptions解析后:
values[0]存储有命令行参数中的版本号
values[1]存储有命令行参数中的团体字符串
// Decompiled by Jad v1.5.8f. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3)
// Source File Name: ParseOptions.java
import java.io.PrintStream;
import java.util.Vector;
public class ParseOptions
{
public ParseOptions(String as[], String as1[], String as2[], String s)
{
none = "None";
Vector vector = new Vector();
usage_string = s;
for(i = 0; i < as.length; i++)
{
for(j = 0; j < as1.length; j++)
{
if(!checkOption(as, as1[j], as2[j]))
continue;
as2[j] = option;
break;
}
if(j >= as1.length)
if(as[i].charAt(0) == '-')
usage_error();
else
vector.addElement(as[i]);
}
remArgs = new String[vector.size()];
for(i = 0; i < vector.size(); i++)
remArgs[i] = (String)vector.elementAt(i);
}
private boolean checkOption(String as[], String s, String s1)
{
if(as[i].equals(s))
{
if(!none.equals(s1))
{
if(++i < as.length)
option = as[i];
else
usage_error();
} else
{
option = "Set";
}
return true;
} else
{
return false;
}
}
public void usage_error()
{
System.out.println("Usage: " + usage_string);
System.exit(1);
}
public String remArgs[];
public String usage_string;
String none;
String option;
int i;
int j;
}
String options[] = { "-v", "-c", "-p", "-r", "-t", "-m" , "-d" };
String values[] = { null, null, null, null, null, null, "None"};
则,values数组中将存储解析后的各个参数的值。
运行实例:
c:/>java snmpget -v v1 -c public -p 8001 -m rfc1213.txt 202.117.48.33 .1.3.6.1.2.1.1.1.0
中,ParseOptions解析后:
values[0]存储有命令行参数中的版本号
values[1]存储有命令行参数中的团体字符串
// Decompiled by Jad v1.5.8f. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3)
// Source File Name: ParseOptions.java
import java.io.PrintStream;
import java.util.Vector;
public class ParseOptions
{
public ParseOptions(String as[], String as1[], String as2[], String s)
{
none = "None";
Vector vector = new Vector();
usage_string = s;
for(i = 0; i < as.length; i++)
{
for(j = 0; j < as1.length; j++)
{
if(!checkOption(as, as1[j], as2[j]))
continue;
as2[j] = option;
break;
}
if(j >= as1.length)
if(as[i].charAt(0) == '-')
usage_error();
else
vector.addElement(as[i]);
}
remArgs = new String[vector.size()];
for(i = 0; i < vector.size(); i++)
remArgs[i] = (String)vector.elementAt(i);
}
private boolean checkOption(String as[], String s, String s1)
{
if(as[i].equals(s))
{
if(!none.equals(s1))
{
if(++i < as.length)
option = as[i];
else
usage_error();
} else
{
option = "Set";
}
return true;
} else
{
return false;
}
}
public void usage_error()
{
System.out.println("Usage: " + usage_string);
System.exit(1);
}
public String remArgs[];
public String usage_string;
String none;
String option;
int i;
int j;
}