2009-04-28 11 views
8

Est-il possible d'utiliser la redirection d'E/S dans Eclipse?Redirection d'E/S dans Eclipse?

Je souhaite rediriger l'entrée/sortie standard sur la ligne de commande comme java MyProgram <input.txt >output.txt, mais je n'arrive pas à l'utiliser dans Eclipse. J'ai essayé d'inclure les < dans le cadre des arguments du programme, qui ont été ignorés, ainsi que dans les arguments VM, qui ont simplement généré une erreur de classe non trouvée. Comment puis-je faire ceci?

+0

en fait, il y a une solution, mais vous pouvez être déjà parti;) – VonC

Répondre

4

Pour redirigent vraiment à la fois, la façon la plus simple est encore de définir votre programme en tant que script externe

"java %1 %2 %3 %4 < %5 > %6" 

(adapter le nombre de paramètres à votre programme particulier)

dans le menu Exécuter, cliquez sur « Outils externes .../Open Outils externes de dialogue » et définir une configuration de lancement externe dans lequel vous indiquerez les arguments et le fichier d'entrée et de sortie.


Ce n'est pas une solution idéale, car vous ne pouvez pas déboguer directement votre code (avec une configuration de lancement "débogage").
Au lieu de cela vous avez à déboguer à distance, il (ajouter « -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 » dans votre script de lancement Java générique)

Une fois que vous avez lancé votre outil externe, lancez une session de débogage à distance via la section « lanceur de débogage « Remote Java Application » » :

Remote Debug, after blog.jmwyttenbach.net/wp-content/uploads/2007/10/eclipseremotedebug.jpg

12

Vous pouvez rediriger la sortie à l'aide de la boîte de dialogue Exécuter, onglet Commun, section "Entrée et sortie standard".

Cependant, il ne semble pas que vous puissiez rediriger l'entrée autant que je peux dire (et aussi loin que this Stack Overflow question peut dire, aussi).

Combien de contrôle avez-vous sur votre application? Si cela ne vous dérange pas un peu, vous pouvez avoir quelques propriétés ou arguments de ligne de commande pour déterminer les fichiers appropriés, et utiliser System.setOut et System.setIn en conséquence. Il est un peu bidouillage ...

+0

Thats ce que je suis sur le point de répondre à dire ... Oui, il semble que ce ne est pas possible de le faire proprement dans éclipse, donc je vais juste garder un terminal ouvert, je suppose. Merci – Simonw