2010-04-21 6 views
1

Je ne sais pas comment le décrire bien, mais je vais essayer. Ok, je veux être capable de construire mon programme Java de sorte que quand il s'ouvrira, il ressemblera et fonctionnera exactement comme dans la console. Donc, il lit la classe Scanner et imprime normalement, et fait tout ce qu'il ferait s'il était dans la console. Ive a cherché autour de cela et n'a rien trouvé. Je peux faire un programme gui java assez facilement, mais je préférerais avoir un terminal, console comme programme, qui fonctionne exactement comme la console java, merci.Comment construire votre programme Java non-gui dans un programme de console

+2

O_o ​​????????????? –

+4

Avez-vous essayé "Démarrer> Exécuter> cmd"? –

+0

Que voulez-vous dire?vous voulez un programme basé sur le terminal qui lit l'entrée de l'entrée du clavier et imprime la sortie sur le terminal (stdout) ?? –

Répondre

1

Vous cherchez peut-être l'entrée standard et de sortie de la classe java.lang.System:

class HelloWorld { 

    public static void main(String... argv) { 
    System.out.println("Hello, World!"); 
    } 

} 

Pour l'entrée de traitement, vous pouvez utiliser le scanner sur l'entrée standard:

Scanner scanner = new Scanner(System.in); 

Si vous voulez obtenir vraiment fantaisie, vous pouvez imprimer une partie de votre sortie à System.err, qui est un PrintStream tout comme System.out.


Depuis le commentaire, « quand je compile mes classes je reçois un fichier jar, qui ne fait rien quand je clique dessus, qui je pense est normal parce que son pas IUG, » Je pense que votre problème est une exploitation problème de système (Windows?), pas un problème de Java.

Windows mappe l'action "Ouvrir" pour que les fichiers JAR s'exécutent avec javaw.exe, ce qui ne crée pas de console. Vous devrez soit modifier l'association de fichier par défaut sur chaque machine, soit créer quelque chose comme un fichier de commandes qui remplace ce comportement par défaut.

Vous pourrait écrire deux programmes: le premier est votre application Java « console » réelle, et une autre est juste une coquille qui utilise Runtime.exec() pour créer une console Windows (cmd) et exécute le premier programme en son sein.

Il existe également des projets opensource (cochez Sourceforge) qui enveloppent votre fichier JAR dans un exécutable Windows.

+0

Probablement juste ... Ou pas? Qui sait? XD –

+0

lol, je sais comment faire cela, je l'utilise dans mon programme, mais je dois faire en sorte que le fichier jar compilé de cela, fonctionne exactement comme la console aurait du sens? –

+0

Vous voulez dire que vous voulez écrire une console? – erickson

3

Sur la base de votre commentaire:

mais je veux faire des centaines de liens à un temps qui fonctionne parfaitement en utilisant la méthode nextLine() du scanner , je peux après 100 ou 200 liens dans la Java console et il va automatiquement trier eux.

Je suppose que ce que vous voulez est le traitement par lots. Vous pouvez avoir vos 100 ou 200 liens dans un fichier texte, un par ligne. Et puis votre programme Java:

import java.io.*; 

public class Batch{ 
    public static void main(String args[]){ 
    try{ 
     FileInputStream fstream = new FileInputStream("sample.txt"); 
     BufferedReader br = new BufferedReader(new InputStreamReader(fstream)); 
     String line; 

     while((line = br.readLine()) != null){ 
      //Do something with your line 
      System.out.println(line); 
     } 
     in.close(); 
    }catch(IOException ioe){ 
     System.err.println(ioe.getMessage()); 
    } 
} 

}

Vous compilez ce programme, ouvrez une console et exécuter:

java Batch 

Il lit votre fichier sample.txt et pour chaque ligne il fait quelque chose, dans ce cas, l'imprimer sur la console.

+0

Oui, j'ai pensé à faire cela, si je décide à l'avenir de faire un gui, je vais utiliser quelque chose comme ça. Comme quand je colle les liens dans la zone de texte, la zone de texte enregistre tout le texte dans un fichier txt temporaire et charge le lien comme ça. Je voulais juste voir s'il était possible de faire une console Java comme Scilab ou quelque chose comme ça. merci tho. –

Questions connexes