Archiv verlassen und diese Seite im Standarddesign anzeigen : Std Output umleiten/lesen
Hi,
ist es möglich den Standard Output umzuleiten oder auszulesen!?
Das Problem ist wie folgt: Ich würde gerne Funktionen eines Jar-Files nutzen, welches allerdings dessen Status auf System.out ausgibt. Nun würde ich jedoch gerne diese Status-Msgs in meinem Programm weiterverwenden!
Vielen Dank und liebe Grüße,
Tom
Was ist genau das Problem?
Möchtest du das Programm im Jar aus deinem Programm raus starten und die Ausgaben abfangen?
In diesem Fall wohl am einfachsten etwa so:
Runtime.exec("mein jar programm > output.txt") und danach diese Textdatei auslesen.
Wenn du natürlich den Source-Code hättest...
MfG Bischi
Möchtest du das Programm im Jar aus deinem Programm raus starten und die Ausgaben abfangen?
Genau -- naja -- zumindest die Funktionen des Jar-File verwenden.
Wobei mir ein derartiges "Ausführen" (mittels Runtime.exec(..)) nicht so richtig zusagt! :/
Wenn du natürlich den Source-Code hättest...
...dann?
Genau -- naja -- zumindest die Funktionen des Jar-File verwenden.
Wobei mir ein derartiges "Ausführen" (mittels Runtime.exec(..)) nicht so richtig zusagt! :/
Yepp - seh ich auch so.
Wenn du den Quellcode hast, kannst du natürlich was mit Messages machen oder den Code abändern...
MfG Bischi
Wenn du den Quellcode hast, kannst du natürlich was mit Messages machen oder den Code abändern...
Hmm -- steht eigentlich auch nicht zur Debatte :rolleyes:
Ich hab' jedoch gerade was anderes gefunden: (komisch das mir das vorher nicht aufgefallen ist)
System.setErr(...)
System.setOut(...)
Jetzt habe ich aber noch ein anderes Problem, dass wohl nicht so leicht zu umgehen ist!?
Es wird
System.exit(...);
verwendet! Klar -- mit dem direkten Ausführen des Jar-Files wäre das kein Porblem, aber über die Eleganz dieses Ansatzes sind wir uns wohl einig. :(
Wär' also toll wenn jemand einen Geistesblitz hätte :)
Tom
peschmae
21-07-2006, 13:21
Hmm -- steht eigentlich auch nicht zur Debatte :rolleyes:
Inwiefern nicht? Gar nicht oder fast nicht oder überhaupt. Ist überhaupt nicht klar wieviel Spielraum du da hast. Gar keinen? Oder kannst du das Programm ändern (lassen), aber es muss weiterhin standalone seine Funktion genau gleich erfüllen?
MfG Peschmä
verwendet! Klar -- mit dem direkten Ausführen des Jar-Files wäre das kein Porblem, aber über die Eleganz dieses Ansatzes sind wir uns wohl einig. :(
Wär' also toll wenn jemand einen Geistesblitz hätte :)
Meine Glaskugel ist leider schon wieder in Reparatur: Vielleicht erklärst du nochmals ganz genau, um was es geht...
MfG Bischi
peschmae
21-07-2006, 16:09
Meine Glaskugel ist leider schon wieder in Reparatur: Vielleicht erklärst du nochmals ganz genau, um was es geht...
Du hast auch eine? Meine sagt immer sie sei die einzige. Dann ist sie wohl auch kaputt :eek:
Schick sie gleich auch in Reparatur... ;)
MfG Peschmä
Übrigens: Der erste mit einer Glaskugel hier im Board war der hier: http://www.mrunix.de/forums/showthread.php?t=10688&highlight=Glaskugel
Das ist sogar noch vor meiner Zeit hier...
MfG Bischi
peschmae
21-07-2006, 22:36
Nee, der hatte sie nicht. Er wusste nur von ihrer mythischen Existenz.
MfG Peschmä
"Der" bezog sich auf "der erste Thread" :D
MfG Bischi
Guten Morgen ihr Hellseher :D
(Ich war die letzte Woche etwas von der "Außenwelt" abgeschnitten! -- Darum die lange Pause)
Inwiefern nicht? Gar nicht oder fast nicht oder überhaupt. Ist überhaupt nicht klar wieviel Spielraum du da hast. Gar keinen?Ne - so garkeinen! Das Jar-File muss so bleiben wie es ist (mitsamt den exits)
Vielleicht erklärst du nochmals ganz genau, um was es geht...
Ich möchte eine Funktion einer Klasse, auf welche ich keinen Einfluss habe -- ich also hinnehmen muss wie sie ist, aufrufen und die darin verwendeten System exits abfangen, damit mein Proggi nicht auch beendet.
execute {
ImmutableClass.fct();
} catch(System Exit) {
// System Exit occured
}
LG, Tom
peschmae
28-07-2006, 11:22
Ich glaube nicht dass du, wenn einmal system.exit() aufgerufen wurde, verhindern aknnst dass die JVM sich beendet.
Es gibt da ja schon so shutdownHandlers - aber die haben diese Möglichkeit halt einfach nicht.
Eventuell gibts aber eine einfachere Methode, eine zweite JVM zu kriegen, ohne das Runtime.getRuntime().exec().
MfG Peschmä
SecurityManager#checkExit(int)
peschmae
02-08-2006, 19:28
Ja, darüber bin ich auch gestolpert. Aber ich dachte eigentlich bei Standalone Java Apps hat der SecurityManager gar nix zu machen. Liege ich da falsch?
(Durchaus möglich - hab mich damit nie befasst da man das Ding ja doch eh nur bei Applets braucht)
MfG Peschmä
Aber ich dachte eigentlich bei Standalone Java Apps hat der SecurityManager gar nix zu machen. Liege ich da falsch?
Naja - ja :rolleyes:
Allgemein aus der Doku:
The security manager is a class that allows applications to implement a security policy. It allows an application to determine, before performing a possibly unsafe or sensitive operation, what the operation is and whether it is being attempted in a security context that allows the operation to be performed. The application can allow or disallow the operation.
Man kann eben alles beschränken, was für einen selbst vermeintlich Sinn macht :D
Ich hab zumindest einen Anwendungsfall gefunden *fg*
Grüße, Tom
peschmae
03-08-2006, 20:52
Man kann eben alles beschränken, was für einen selbst vermeintlich Sinn macht :D
Ich hab zumindest einen Anwendungsfall gefunden *fg*
Hmm, ok, scheint zu passen :D
MfG Peschmä
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.