Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    347

    [Java] utilizzare comandi windows da java

    è possibile avviare comandi windows da java direttamente o si devono utilizzare delle librerie di sistema? per farmi capire meglio: ad esempio, come fa eclipse a compilare i i file .java? oppure si possono avviare eseguibili java esterni passadogli anche degli argomenti?

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Tramite un programma Java puoi lanciare un eseguibile. La classe ProcessBuilder dovrebbe fare al caso tuo.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    347
    e tra questa classe e la classe Runtime quali sono le principali differenze? perchè girando su internet ho trovato solo la classe Runtime.
    Potresti consigliarmi qualche guida semplice sull'uso della classe che mi hai consigliato?

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    qui

    c'è il punto di partenza. E' 1.5.0, ma non penso che sia un problema
    RTFM Read That F*** Manual!!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Io gli ho linkato la 7 valia.


    Comunque non ci sono guide per l'utilizzo della classe. Magari trovi articoli. Tuttavia il modo migliore è provare a scrivere qualcosa... se hai problemi posta il codice e ti daremo una mano. ^^

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    347
    ok, ditemi se sbaglio, per fare l'esempio di prima del compilatore java mi basterebbe scrivere così:
    Codice PHP:
    ProcessBuilder compilatore = new ProcessBuilder("javac.exe" "nome_del_file.java")
    Process compilazione compilatore.start(); 
    mi sembra un po troppo facile XD
    p.s.: ho scritto javac.exe perchè essendo gia nel classpath dovrebbe trovarlo subito, ho sbagliato pure questo?

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    C'è anche un esempio nella pagina che ti ho linkato. :asd:
    Devi mettere il path per esteso, ed utilizzare la virgola per separare il comando dall'argomento.

    Comunque si, a parte la mancata virgola ed il path, è corretto.

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    347
    si, è ovvia la virgola, errore di distrazione XD invece per quanto rigurda il path, dato che deve essere per forza completo, si può ricavare qualcosa dal classpath di sistema in qualche modo? E per quanto riguarda le differenze tra questa classe e il metodo exec() di Runtime?

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da John360
    si, è ovvia la virgola, errore di distrazione XD invece per quanto rigurda il path, dato che deve essere per forza completo, si può ricavare qualcosa dal classpath di sistema in qualche modo? E per quanto riguarda le differenze tra questa classe e il metodo exec() di Runtime?
    Non confondere il CLASSPATH con il PATH.
    Il CLASSPATH è il percorso in cui Java cerca le classi.
    Il PATH è il percorso in cui il sistema operativo cerca gli eseguibili.

    Ad ogni modo, puoi provare a parsarti il PATH (che può contenere più percorsi) ottenendone il valore in questo modo:

    codice:
    String path = System.getenv("PATH");
    Ma non credo ti possa tornare tanto utile...


    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

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Puoi anche avere una variabile d'ambiente JAVA_HOME settata sul percorso che hai alla directory di Java (la home), ovvero qualcosa come "C:\Programmi\Java\jdk1.7.0\".
    Quindi fare qualcosa di questo tipo:
    codice:
    String path = System.getenv("JAVA_HOME"); // Torna: C:\Programmi\Java\jdk1.7.0\
    String completePath = path+"\\bin\\javac.exe";
    // ...
    Oppure ti parsi PATH come ha detto Lele.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.