Methode abändern, aber wie?

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,

ich möchte folgende Methode abändern:

Code:
public static void main(String[] arg){
    try{
      JSch jsch=new JSch();  

      String host=JOptionPane.showInputDialog("Enter username@hostname",
                                              System.getProperty("user.name")+
                                              "@localhost"); 
      String user=host.substring(0, host.indexOf('@'));
      host=host.substring(host.indexOf('@')+1);

      Session session=jsch.getSession(user, host, 22);
      
      /*
      String xhost="127.0.0.1";
      int xport=0;
      String display=JOptionPane.showInputDialog("Enter display name", 
                                                 xhost+":"+xport);
      xhost=display.substring(0, display.indexOf(':'));
      xport=Integer.parseInt(display.substring(display.indexOf(':')+1));
      session.setX11Host(xhost);
      session.setX11Port(xport+6000);
      */

      // username and password will be given via UserInfo interface.
      UserInfo ui=new MyUserInfo();
      session.setUserInfo(ui);
      session.connect();

      String command=JOptionPane.showInputDialog("Enter command", 
                                                 "set|grep SSH");

      Channel channel=session.openChannel("exec");
      ((ChannelExec)channel).setCommand(command);

      // X Forwarding
      // channel.setXForwarding(true);

      //channel.setInputStream(System.in);
      channel.setInputStream(null);

      //channel.setOutputStream(System.out);

      //FileOutputStream fos=new FileOutputStream("/tmp/stderr");
      //((ChannelExec)channel).setErrStream(fos);
      ((ChannelExec)channel).setErrStream(System.err);

      InputStream in=channel.getInputStream();

      channel.connect();

      byte[] tmp=new byte[1024];
      while(true){
        while(in.available()>0){
          int i=in.read(tmp, 0, 1024);
          if(i<0)break;
          System.out.print(new String(tmp, 0, i));
        }
        if(channel.isClosed()){
          System.out.println("exit-status: "+channel.getExitStatus());
          break;
        }
        try{Thread.sleep(1000);}catch(Exception ee){}
      }
      channel.disconnect();
      session.disconnect();
    }
    catch(Exception e){
      System.out.println(e);
    }
  }

Momentan öffnet die Methode ein JOptionPane, in dem ich mein command eingeben kann. Habe aber dafür eine properties Datei, in der das command eingetragen ist. Ich übergebe der Methode den user, host und mein command.

Wie muss ich jetzt aber die Methode abändern, damit mein command aus der properties benutzt wird?

Bis jetzt sieht mein Code so aus:

Code:
public void restartServer(String user, String host, String serverCommand)
    {
        try
        {
            JSch jsch = new JSch();

//            String host = JOptionPane.showInputDialog("Enter username@hostname", System.getProperty("user.name")
//                                                                                 + "@localhost");
//            String user = host.substring(0, host.indexOf('@'));
//            host = host.substring(host.indexOf('@') + 1);

            Session session = jsch.getSession(user, host, 22);

            /*
             String xhost="127.0.0.1";
             int xport=0;
             String display=JOptionPane.showInputDialog("Enter display name", 
             xhost+":"+xport);
             xhost=display.substring(0, display.indexOf(':'));
             xport=Integer.parseInt(display.substring(display.indexOf(':')+1));
             session.setX11Host(xhost);
             session.setX11Port(xport+6000);
             */

            // username and password will be given via UserInfo interface.
            UserInfo ui = new MyUserInfo();
            session.setUserInfo(ui);
            session.connect();

            Channel channel = session.openChannel("exec");
            ((ChannelExec) channel).setCommand(serverCommand);

            // X Forwarding
            // channel.setXForwarding(true);

            //channel.setInputStream(System.in);
            channel.setInputStream(null);

            //channel.setOutputStream(System.out);

            //FileOutputStream fos=new FileOutputStream("/tmp/stderr");
            //((ChannelExec)channel).setErrStream(fos);
            ((ChannelExec) channel).setErrStream(System.err);

            InputStream in = channel.getInputStream();

            channel.connect();

            byte[] tmp = new byte[1024];
            while (true)
            {
                while (in.available() > 0)
                {
                    int i = in.read(tmp, 0, 1024);
                    if (i < 0)
                        break;
                    System.out.print(new String(tmp, 0, i));
                }
                if (channel.isClosed())
                {
                    System.out.println("exit-status: " + channel.getExitStatus());
                    break;
                }
                try
                {
                    Thread.sleep(1000);
                }
                catch (Exception ee)
                {
                }
            }
            channel.disconnect();
            session.disconnect();
        }
        catch (Exception e)
        {
            System.out.println(e);
        }
    }

Hat jemand eine Idee?

MfG Patrick
 
G

Gast

Gast
Locker bleiben, Kollege! Es ist noch kein Meister vom Himmel gefallen!

Das Problem ist, dass mein command leider nicht auf dem Server ausgeführt wird.

In meiner properties steht folgendes:

serverCommand = touch /lvs/home/testfile.txt

Es soll also auf dem Linux Server eine testfile.txt angelegt werden.

Bekomme aber eine "ChannelExec" von Jsch und weiss leider nicht wieso.

Dachte, dass dieInfos vielleicht weiterhelfen könnten.
 
S

SlaterB

Gast
ich bin die Ruhe selbst,

also was in der Properties-Datei drinsteht interessiert nur sekundär,
wichtig ist der Inhalt von
String command; oder nun Parameter String serverCommand;

egal wie das gefüllt wird, ob mit Properties, Operations-Parameter, System-Parameter beim Programmstart oder JOptionsPane,
am Ende zählt nur was da drinsteht und an den Server geht,

mti System.out.println leicht zu prüfen
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Interface methode aufrufen (interface parameter) Java Basics - Anfänger-Themen 7
M Get Methode alles einzeln? Java Basics - Anfänger-Themen 6
M Von einem Menü Methode aus anderer Klasse ausführen, die errechnete Werte in Datei schreibt. Java Basics - Anfänger-Themen 8
J Methode verstehen Java Basics - Anfänger-Themen 3
L Methode in setText() setzen Java Basics - Anfänger-Themen 6
B eine methode erstellen Java Basics - Anfänger-Themen 7
D Methode Java Basics - Anfänger-Themen 7
T Auf Instanz der selben Klasse aus überschriebener Methode in Methode zugreifen. Java Basics - Anfänger-Themen 2
amelie123456 Geschwindigkeit der Methode bewegeDich eines Objekts ändern Java Basics - Anfänger-Themen 2
M mehrere Rückgabenwerte aus Methode Java Basics - Anfänger-Themen 7
Stargirlxo Iterator + Methode Java Basics - Anfänger-Themen 10
G Rekursive Methode mit 2 Aufrufen Java Basics - Anfänger-Themen 1
H Warum kann man keine Parameter in die main-Methode packen? Java Basics - Anfänger-Themen 4
G return 1 + methode Java Basics - Anfänger-Themen 4
T Methode schreiben, die einem Array ein Stringelement hinzufügt, wenn dieses noch nicht enthalten ist. Java Basics - Anfänger-Themen 6
Henri Webservice Delete und Update Methode funktioniert nicht Java Basics - Anfänger-Themen 27
T getAttribut in einer Methode aufrufen Java Basics - Anfänger-Themen 8
T Methode um Array mit for-each-Schleife auszulesen Java Basics - Anfänger-Themen 7
N Groß- und Kleinschreibung bei Java: void Methode Java Basics - Anfänger-Themen 1
BorussiaMG1900 Implementation einer Methode Java Basics - Anfänger-Themen 1
H Kürzere Scan Methode Java Basics - Anfänger-Themen 7
J Problem mit einer Methode die gewissen Inhalt einer Array löschen soll Java Basics - Anfänger-Themen 9
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
L Methode für Zweidimensionale Arrays Java Basics - Anfänger-Themen 4
H Methode mit Array als Rückgabe This method must return a result of Type int[] Java Basics - Anfänger-Themen 2
G Erste Schritte Array Mittelwert Methode Programmieren Java Basics - Anfänger-Themen 5
O Methode in while-Schleife aufrufen geht nur beim ersten Mal Java Basics - Anfänger-Themen 2
KogoroMori21 Methode in der main ausgeben Java Basics - Anfänger-Themen 2
LetsSebi Methode, die einen arry von objekten speichert in einer datei Java Basics - Anfänger-Themen 6
L Methode zum invertieren eines Arrays Java Basics - Anfänger-Themen 7
s_1895 zu viele Zeilen in der Main Methode Java Basics - Anfänger-Themen 4
M Rekursive Java-Methode Java Basics - Anfänger-Themen 13
H Methode über String Wert aufrufen Java Basics - Anfänger-Themen 8
B Methoden warum macht die Methode nicht das was ich erwarte? Java Basics - Anfänger-Themen 2
L Attribute aus Klasse in berechnungs Methode übergeben Java Basics - Anfänger-Themen 1
Y Aufruf von Methode nicht möglich. Java Basics - Anfänger-Themen 2
O Instanzattribut per Getter Methode zuweisbar, warum? Java Basics - Anfänger-Themen 3
C Größte Zahl aus einem Array ermitteln(als statische Methode) Java Basics - Anfänger-Themen 31
G Methoden Methode die aus einem Array ein Index ausgibt? Java Basics - Anfänger-Themen 2
R Boolean Methode Rückgabewert if() Java Basics - Anfänger-Themen 1
P Methode die ausgibt wie viele Primzahlen es zwischen 2 und n gibt Java Basics - Anfänger-Themen 10
G Rekursive Methode liefert augenscheinlich keinen boolean-Wert zurück. Java Basics - Anfänger-Themen 4
kazzam94 Methode soll Array von Boolean zurückgeben Java Basics - Anfänger-Themen 5
M negate Methode Java Basics - Anfänger-Themen 13
JavaClara Fehlermeldung bei split-Methode Java Basics - Anfänger-Themen 12
A Methode in einer anderen Klasse verwenden Java Basics - Anfänger-Themen 1
Eule25 Methode mit Array Java Basics - Anfänger-Themen 4
J Methoden Frage: Array-Werte in anderer Methode ändern Java Basics - Anfänger-Themen 4
S HashMap contains() Methode Java Basics - Anfänger-Themen 1
F Methoden Methode richtig aufrufen Java Basics - Anfänger-Themen 3
JD_1998 Array-Position aus einer Methode in einer anderen ausgeben (Kurze Frage) Java Basics - Anfänger-Themen 2
JD_1998 Random Array sortieren mit Hilfe einer Methode Java Basics - Anfänger-Themen 4
T Methode implementieren Java Basics - Anfänger-Themen 21
JD_1998 Vorgegebene Methode erweitern um Hex -> Dezimal umzuwandeln Java Basics - Anfänger-Themen 1
A While Schleife - buubelsort methode Java Basics - Anfänger-Themen 2
NeoLexx equals()-Methode Verständnis Frage anhand Code Beispiel Java Basics - Anfänger-Themen 22
X compareTo Methode wird ignoriert Java Basics - Anfänger-Themen 7
macle Rekursive String Methode, Gerade Zahlen rausfiltern Java Basics - Anfänger-Themen 10
B Wie kann ich etwas vor der Main-Methode ausführen? Java Basics - Anfänger-Themen 21
J Methode als Class anlegen Java Basics - Anfänger-Themen 7
K Übergabe von Werten (zweidimensionales Array) aus einer Methode an zweidimensionales Array in main() Java Basics - Anfänger-Themen 3
M this.object in einer parameterlosen Methode verwenden Java Basics - Anfänger-Themen 3
P Methode trim() ohne StringBuilder Java Basics - Anfänger-Themen 1
N Selection Algorithmus: Methode wird nicht erkannt (BlueJ) Java Basics - Anfänger-Themen 3
P Problem beim Überschreiben einer vererbten Methode Java Basics - Anfänger-Themen 4
B Methode für jede beliebe Entity erstellen Java Basics - Anfänger-Themen 7
O BiPredicate in einer forEach Methode Java Basics - Anfänger-Themen 10
B Klassen Abstrake Klasse und Template Methode Java Basics - Anfänger-Themen 4
parrot Array: Methode fügeHinzu Java Basics - Anfänger-Themen 13
B Eine Methode erstellen Java Basics - Anfänger-Themen 3
G Java charAt Methode Java Basics - Anfänger-Themen 10
G main Methode Java Basics - Anfänger-Themen 5
L Methode implementieren, Parameter die übergeben werden sind final Java Basics - Anfänger-Themen 4
G Java LinkedList remove Methode Java Basics - Anfänger-Themen 5
L Wie greife ich in der Subklasse auf die Parameter einer Methode der Superklasse zu ? Java Basics - Anfänger-Themen 15
Bluedaishi Hilfe beim erklären dieser Methode Java Basics - Anfänger-Themen 5
N Methode um Objekte einer Liste hinzuzufügen Java Basics - Anfänger-Themen 1
1 main-Methode erweitern, Nachfrage nach wiedeholung Java Basics - Anfänger-Themen 2
Y Methode + Parameters + Ein und Ausgabe Java Basics - Anfänger-Themen 1
L Variable von einer Methode zu einer anderen Methode inkl. einer "Zwischenmethode" Java Basics - Anfänger-Themen 1
G Java equals() Methode Java Basics - Anfänger-Themen 9
I Greedy Methode Methoden nutzen Java Basics - Anfänger-Themen 3
B Hilfe bei einer rekursiven Methode Java Basics - Anfänger-Themen 3
V Collections Methode in der Methode aufrufen Java Basics - Anfänger-Themen 2
A Implementierung von String toString methode() Java Basics - Anfänger-Themen 4
S Auf Methode einer anderen Klasse zugreifen Java Basics - Anfänger-Themen 3
Z Methode zum Heraufinden von Anagrammen ohne Java API, Ausnahme String Java Basics - Anfänger-Themen 14
B Get / Set - Methode für verschiedene Entities? (generisch) Java Basics - Anfänger-Themen 21
J main methode Java Basics - Anfänger-Themen 1
C Methode Seiten tauschen eines erstellten Rechtecks mit Seite A und B Java Basics - Anfänger-Themen 9
R Methode zwei Sortierkriterien der Klasse Comparator übergeben Java Basics - Anfänger-Themen 4
J Methoden set Methode array Java Basics - Anfänger-Themen 2
V Switch Methode macht Code kaputt Java Basics - Anfänger-Themen 18
P Methode die eigentlich einen Scanner benötigt mit toString() Java Basics - Anfänger-Themen 5
J Apache Poi - createCell() Methode akzeptiert keinen Index aus for-schleife als Parameter Java Basics - Anfänger-Themen 4
S Wann Methode abstract? Java Basics - Anfänger-Themen 10
L Objekt an Methode übergeben Java Basics - Anfänger-Themen 4
H Rekursiv Methode ausführen bei Kindern Java Basics - Anfänger-Themen 12
R Methode Rückgabe Java Basics - Anfänger-Themen 10
M Implementierung einer getNextId Methode Java Basics - Anfänger-Themen 5

Ähnliche Java Themen


Oben