ich will mir die Laufende prozesse hollen und die in einer list abspeichern
das hollen mache ich so :
aber immer wenn ich das dan in die List abspeichern will bekomm ich an der makierten stelle eine Nullpointer weis aber nicht wieso hab auch schon gedebugt und eigentlich ist das nicht lehr der scanner
hier noch mal der ganze code :
hoffe ihr könnt mir helfen und schonmal im vorraus ein großes dankeschön
Gruß John
das hollen mache ich so :
Java:
scanner = new Scanner(new InputStreamReader(Runtime.getRuntime().exec("tasklist.exe").getInputStream()));
hier noch mal der ganze code :
Java:
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import de.grab.taskmanager.domain.Prozess;
public class ProzessService {
private List<Prozess> prozesses = new ArrayList<Prozess>();
private Prozess pro;
private int i = 0;
private Scanner scanner;
public List<Prozess> getProzessList() throws IOException{
scanner = new Scanner(new InputStreamReader(Runtime.getRuntime().exec("tasklist.exe").getInputStream()));
prozesses.clear();
while(scanner.hasNext())
{
if(i<5)
{
scanner.next();
}
if(i>5 && i<=10)
{
scanner.next();
}
if(i>10)
{
if(i==11){
pro.setName(scanner.next()); <-----hier ist die Nullpointer wo er das erstemal den scanner .next() setzen will!!!
pro.setName(pro.getName()+" "+scanner.next());
pro.setName(pro.getName()+" "+scanner.next());
pro.setPid(Integer.parseInt(scanner.next()));
pro.setDiscription(scanner.next());
pro.setMeetingnumber(Integer.parseInt(scanner.next()));
pro.setAtticuse(scanner.next()+" "+scanner.next());
}
else{
pro.setName(scanner.next());
pro.setPid(Integer.parseInt(scanner.next()));
pro.setDiscription(scanner.next());
pro.setMeetingnumber(Integer.parseInt(scanner.next()));
pro.setAtticuse(scanner.next()+" "+scanner.next());
}
}
i++;
prozesses.add(pro);
}
return prozesses;
}
}
hoffe ihr könnt mir helfen und schonmal im vorraus ein großes dankeschön
Gruß John