| Applikationen Probleme mit Anwendungsprogrammen aller Art gehören hier hin. |
Diskussion: HILFE tasklist.exe mit java verarbeiten im Forum Applikationen, in der Kategorie Software Home; Anzeige hatte mal ne frage was daran falsch ist ??: Code: import java.io.*; import java.util.StringTokenizer; /** * * @author Muneeswaran ...
![]() |
| | #1 (permalink) |
| Registriert seit: 07.06.10 ![]() Likes: 0 | Anzeige hatte mal ne frage was daran falsch ist ??: Code: import java.io.*;
import java.util.StringTokenizer;
/**
*
* @author Muneeswaran
*/
public class GetProcessList
{
private String GetProcessListData()
{
Process p;
Runtime runTime;
String process = null;
try {
System.out.println("Processes Reading is started...");
//Get Runtime environment of System
runTime = Runtime.getRuntime();
//Execute command thru Runtime
p = runTime.exec("tasklist"); // For Windows
//p=r.exec("ps ux"); //For Linux
//Create Inputstream for Read Processes
InputStream inputStream = p.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
//Read the processes from sysrtem and add & as delimeter for tokenize the output
String line = bufferedReader.readLine();
process = "&";
while (line != null) {
line = bufferedReader.readLine();
process += line + "&";
}
//Close the Streams
bufferedReader.close();
inputStreamReader.close();
inputStream.close();
System.out.println("Processes are read.");
} catch (IOException e) {
System.out.println("Exception arise during the read Processes");
e.printStackTrace();
}
return process;
}
private void showProcessData()
{
try {
//Call the method For Read the process
String proc = GetProcessListData();
//Create Streams for write processes
//Given the filepath which you need.Its store the file at where your java file.
OutputStreamWriter outputStreamWriter =
new OutputStreamWriter(new FileOutputStream("ProcessList.txt"));
BufferedWriter bufferedWriter = new BufferedWriter(outputStreamWriter);
//Tokenize the output for write the processes
StringTokenizer st = new StringTokenizer(proc, "&");
while (st.hasMoreTokens()) {
bufferedWriter.write(st.nextToken()); //Write the data in file
bufferedWriter.newLine(); //Allocate new line for next line
}
//Close the outputStreams
bufferedWriter.close();
outputStreamWriter.close();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
public static void main(String[] args)
{
GetProcessList gpl = new GetProcessList();
gpl.showProcessData();
}
} Code: Processes Reading is started... Processes are read. schonmal danke im voraus für die hilfe : |
| | |
| | #2 (permalink) |
| Senior Member | Hä? Was erwartest du denn? Es wird ja sonst nix auf die Konsole geschrieben. Das Ergebnis von ps ux wird/soll ja in eine Datei namens ProcessList.txt geschrieben. Geändert von odigo (07.06.10 um 23:10 Uhr) |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter Registriert seit: 07.06.10 ![]() Likes: 0 | achsoo ohh ok danke könntest du mir sagen wie ich das jetzt in einen sordentlichen array bekomme?? das ich das danach in eine jtabel machen kann ?? |
| | |
| | #4 (permalink) |
| Senior Member | Naja, GetProcessListData liefert dir ja einen String in dem jede Zeile von ps ux mittels "&" getrennt ist. Ich wüde den String nicht mittels StringTokenizer behandeln sondern einfach am "&" aufsplitten. Dadurch erhält man sofort ein String-Array. Code: String[] arr = GetProcessListData().split("&"); Wenn du das mit dem Datei rausschreiben nicht brauchst würd ichs wieder ausbauen |
| | |
| | #5 (permalink) |
| Themenstarter Registriert seit: 07.06.10 ![]() Likes: 0 | nicht in einen String [][] arr rein ?? und ne andere frage wie kann ich die prozesse zähle bin iwie grade kläglich am schreitern !!! |
| | |
| | #6 (permalink) |
| Themenstarter Registriert seit: 07.06.10 ![]() Likes: 0 | aber wenn ich das so mache wie du das geschrieben hast bekomm ich die kompltte zeile gibs auch ne möglichkeit jedes einzelnde attribut zu bekommen ?? Geändert von JohnnyG (08.06.10 um 23:29 Uhr) |
| | |
| | #7 (permalink) |
| Senior Member | Grundsätzlich ja, damit hättest du auch dein String[][]. Das könnte man auch mit split machen. Dort kannst du einen regulären Ausdruck angeben (was der API-Referenz zu entnehmen ist). Du müsstest sagen "splite an jeder Stelle in einer Zeile an der mehrere Blanks hintereinander vorkommen". Wie du das machst findest jetzt am besten selbst raus. PS: Wenn du willst daß ich dir dein Programm schreibe können wir gerne über Stundenlöhne verhandeln PPS: Lass es mir ständig unsinnige PMs zu schreiben. Siehe PS. Das hier ist ein Forum, wenn ich antworten will werde ich das schon machen |
| | |
| | #8 (permalink) |
| Moderator ![]() Registriert seit: 19.06.06 ![]() ![]() ![]() Likes: 51 | Ich kenne die genaue Ausgabe jetzt nicht, aber wenn es so aussieht, wie unter Windows, wenn ich "tasklist" aufrufe, dann könntest du bei " " splitten, ggf. ist das auch ein Tab ("\t" wenn ich mich nicht täusche). Gucke dir doch erstmal deine genaue Ausgabe an und suche nach einer Regel, wonach du das Aufteilen kannst. Die grundsätzliche Art, das zu tun, hast du ja erklärt bekommen. |
| | |
![]() |
| Stichworte |
| hilfe, java, tasklist.exe |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |