Rückgabewerte

erdmulch

Bekanntes Mitglied
Hallo zusammen,

will mir ein kleines Virenprogramm mittel clamav machen.
funktioniert alles soweit unter linux, wollte es nun unter java einbinden. leider bekomm ich keine Rückgabewerte von der Konsole, bzw. werden diese als Array abgelegt. glaub ich zumindest das ist die Ausgabe:
java.lang.UNIXProcess@7976c1
kann mir jemand sagen wie ich das ausgeben kann?

danke im voraus

Java:
try 
		{
		    Process p = Runtime.getRuntime().exec(new String[] {"clamscan", "-r", "/"});
		    System.out.println("Virenscan wird durchgeführt");
		    OutputStream out = p.getOutputStream();
		    System.out.println(out);
		    out.close();
		} 
		catch (IOException e) 
		{
		    e.printStackTrace();
		}
 

Xeonkryptos

Bekanntes Mitglied
In deinem Code gibst du das OutputStream-Objekt out aus, dass heißt es wird die Methode toString() aus der Klasse Object aufgerufen.
Java:
getClass().getName() + '@' + Integer.toHexString(hashCode())

So erhälst du nur die Referenz. Es kommt aber darauf an, was du haben willst?
 

erdmulch

Bekanntes Mitglied
Der String der Konsole beinhaltet die gescanten dateine. diese würde ich gerne in Java weiterverarbeiten.
wie kann ich grundsätzlich die konsole ausgabe unter Java anzeigen lassen?

deine lösung hat leider nicht funktioniert
 

Xeonkryptos

Bekanntes Mitglied
Das was ich sagte war keine Lösung, sondern die Erklärung für die Ausgabe und somit der Hinweis, dass es auf diese Weise nicht gehen kann und dadurch auch kein Array erstellt wird und ausgegebem!
 

hdi

Top Contributor
Was er gepostet hat war nicht die Lösung, sondern der Code, der intern ausgeführt wird, wenn du eine Objektreferenz in ein System.out.println() packst. Also nur, um dir klar zu machen, was die momentane Ausgabe zu bedeuten hat.

Was du wohl tun musst, ist dir den OutputStream des Prozesses als Input-Stream im Java-Programm zu definieren, sodass es quasi eine Weiterleitung vom anderen Programm zu deinem Java-Programm gibt. Und was da ankommt musst du entsprechend umwandeln (du wirst ja wohl wissen, was drinsteckt), und dann wiederum über die Standard Output Konsole (System.out) ausgeben.
 

Ähnliche Java Themen

Neue Themen


Oben