我为Windows编写了一个Java命令行应用程序,并将该cmd的结果存储在一个字符串变量中。
我的问题是:是否有可能从我存储cmd输出的变量中获取子字符串?
如果在cmd输出字符串变量中找到子字符串,我想放置一个创建操作的语句。
以下是应用程序类的方法:
public static void main(String[] args) throws IOException, InterruptedException
{
runWndCommand("ping 192.168.11.3");
}
public static void runWndCommand(String cmd) throws IOException, InterruptedException
{
Runtime runtime = Runtime.getRuntime();
Process p = runtime.exec(new String[] { "cmd.exe", "/C", cmd });
Scanner reader = new Scanner(p.getInputStream());
while (reader.hasNext())
{
String r=reader.nextLine();
System.out.println(r);
}
p.waitFor();
}
答案 0 :(得分:1)
示例中如何使用contains()
的简短示例:
String r = reader.nextLine();
System.out.println(r);
if (r.contains("abc")) {
System.out.println("abc found");
} else {
System.out.println("abc not found");
}
如果abc found
是"abc"
中的子字符串,则会打印r
。
答案 1 :(得分:0)
考虑java.util.regex.Pattern,它是一种更灵活的方法来测试字符串是否包含您期望的内容