Code
import java.util.ArrayList; import java.util.List; import org.asteriskjava.manager.ManagerConnection; import org.asteriskjava.manager.ManagerConnectionFactory; import org.asteriskjava.manager.action.CommandAction; import org.asteriskjava.manager.response.CommandResponse; public class Manager { private ManagerConnection c; public Manager() throws Exception { ManagerConnectionFactory factory = new ManagerConnectionFactory( "ip", "admin", "pass"); c = factory.createManagerConnection(); } public void run() throws Exception { c.login(); CommandAction action; CommandResponse response; List<String> list = new ArrayList<String>(); action = new CommandAction(); action.setCommand(" sip show peers"); response = (CommandResponse) c.sendAction(action); list = response.getResult(); int i = 0; while ( i <list.size()) { System.out.println(list.get(i)); i++; } c.logoff(); } public static void main(String[] args) throws Exception { new Manager().run(); } } Result of performance:
Name/username Host Dyn Forcerport ACL Port Status Description 4975/4975 (Unspecified) D a 0 UNKNOWN 4986/4986 (Unspecified) D a 0 UNKNOWN 5001/5001 (Unspecified) D a 0 UNKNOWN 5002/5002 (Unspecified) D a 0 UNKNOWN 6000/6000 (Unspecified) D a 0 UNKNOWN 7777/7777 (Unspecified) D a 0 UNKNOWN 9011/9011 (Unspecified) D a 0 UNKNOWN 9012/9012 (Unspecified) D a 0 UNKNOWN Tell me, how can you display a string that contains for example 4975?
.contains("4975"), in 1.8 useremoveIf(). stackoverflow.com/a/21368638/2908793 - etkiremoveright away :) - VladDlist.stream().filter(s -> s.contains("4975")).forEach(System.out::println);- zzashpaupat