2012-12-16 7 views
1

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

당신은 String 클래스는'포함 사용할 수 있습니다 기대가 포함되어 있는지 여부를 테스트 할 수있는보다 유연한 방법입니다 있으며, java.util.regex.Pattern 고려 끈. –

+0

일반적으로 찾고있는 키워드 뒤에 텍스트가 필요합니다. 핑이 걸리는 시간. 'indexOf'를 사용하여 텍스트가 어디에 있는지 알 수 있도록 제안합니다. –

답변

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.

+0

고마워, 많이, 지금은 괜찮아. – sofian

0

는 문자열이() '메소드가 다른 내부 문자열을 검색 할