Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Comandi linux in java

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    42

    Comandi linux in java

    Ciao a tutti!
    Sulla rete ho visto questo pezzo di codice per utilizzar i comandi linux in java:


    Codice PHP:
    public class Comando 
    public static 
    void main (String[]args){
    String cmd "ls";      
    try{          
    Process p Runtime.getRuntime().exec(cmd);         
    p.waitFor();              
    }catch (
    Exception ex) {
    ex.printStackTrace();      
    }  } } 
    Eseguendolo però,non vedo assolutamente nulla,anche se non mi da errore.
    Come mai?Devo aggiungere qualcosa per visualizzare a video i risultati del comando?

    Grazie

  2. #2
    probabilmente perché devo ottenere l'InputStream dall'oggetto Process e leggere i dati risultanti dal comando.

    P.S. ovviamente devi essere su di un OS linux
    I DON'T Double Click!

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    42
    Ho provato a modificare il codice inserendo prima il metodo getInputStream,ma mi da errore,per incompatibilità di tipo di dato col metodo!
    Come posso risolvere?

  4. #4
    puoi postare lo stacktrace?
    I DON'T Double Click!

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da artorius
    puoi postare lo stacktrace?
    Prima ancora... puoi postare il codice così come lo hai modificato? A parole non si capisce affatto cosa tu abbia fatto effettivamente col codice.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    Codice PHP:
    import java.io.InputStream;   
    public class 
    Main {     
    private static 
    int tot;     
     private static 
    InputStream in;    
           public static 
    void main (String[]args){  
               
    String cmd "ls";      
                
    byte [] dati;
             try{
                            
    Process p Runtime.getRuntime().exec(cmd);                    
                            
    in=p.getInputStream();
                            
    p.waitFor();
                            
    tot=in.available();
                            
    dati=new byte[tot];
                            
    in.read(dati);
                            for(
    int i=0;i<tot;i++)
                 {                 
                            
                            
    System.out.print(Character.toChars(dati[i]));
                 }
            }catch (
    Exception ex) { ex.printStackTrace();       }  } } 
    Ho modificato il codice in questo modo, ed usando il comando ls da in uscita la lista dei file presenti nella cartella, ma io vorrei modificare tale codice in modo da avere un semplice client telnet che nn fa altro che usare il telnet di linux.
    come posso fare?
    LittleChe

  7. #7
    Suggerimento: metti /bin/ls a posto di ls!

  8. #8
    grazie del consiglio
    LittleChe

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.