在客户端服务器程序中,我有这一行
String line = inputStream.readLine();
if (line.startsWith("/adduser")) {
//do code
}
示例命令" / adduser -id 1022 -p SomePass " 我知道如何通过line.startswith开始这个过程,但是我怎样才能使程序读取-id之后的内容并将其放在一个值中并与-p相同。
答案 0 :(得分:0)
您可以拆分字符串并使用for循环来解析生成的数组中的标记。
String line = inputStream.readLine();
if (line.startsWith("/adduser")) {
String[] arguments = line.split(" ");
int id = 0;
String password = "";
for (int i = 0; i < arguments.length - 1; i++)
if (arguments[i].equals("-id"))
id = Integer.parseInt(arguments[i+1]); // Assuming that your id values are integers.
else if (arguments[i].equals("-p"))
password = arguments[i+1];
// Handle values
}
答案 1 :(得分:0)
这应该做的工作。我会建议对这些 id 和传递值进行一些测试,然后再对它们做任何想法。
String[] line = "/adduser -id 1022 -p SomePass".split(" ");
String id = line[2];
String somePass = line[4];