Quelqu'un peut-il me dire quel code est utilisé pour effacer l'écran en Java ?
Par exemple, en C++ :
system("CLS");
Quel code est utilisé en Java pour effacer l'écran ?
Quelqu'un peut-il me dire quel code est utilisé pour effacer l'écran en Java ?
Par exemple, en C++ :
system("CLS");
Quel code est utilisé en Java pour effacer l'écran ?
Voilà comment je m'y prendrais. Cette méthode fonctionne pour le système d'exploitation Windows et pour le système d'exploitation Linux/Unix (ce qui signifie qu'elle fonctionne également pour Mac OS X).
public final static void clearConsole()
{
try
{
final String os = System.getProperty("os.name");
if (os.contains("Windows"))
{
Runtime.getRuntime().exec("cls");
}
else
{
Runtime.getRuntime().exec("clear");
}
}
catch (final Exception e)
{
// Handle any exceptions.
}
}
Notez que cette méthode permet généralement no effacer la console si vous travaillez dans un IDE.
Sous Windows 8.1 : java.io.IOException: Cannot run program "cls": CreateProcess error=2, The system cannot find the file specified
@BenLeggiero Cette erreur se produit si, pour une raison quelconque, la commande cls n'est pas trouvée par la JVM dans un répertoire de la variable d'environnement PATH. Tout ce que fait ce code est d'appeler la commande système Windows ou Unix basée sur la configuration système par défaut pour effacer l'invite de commande ou la fenêtre du terminal respectivement. Cela devrait être exactement la même chose que d'ouvrir une fenêtre de terminal et de taper "cls" suivi de la touche Entrée.
Je sais tout ça, mais je me suis dit que ça valait la peine de noter que ça peut toujours échouer. Je ne sais pas pourquoi il a échoué, mais il peut manifestement le faire.
Un moyen d'obtenir cela peut être d'imprimer plusieurs fins de lignes (" \n ") et simuler l'écran clair. À la fin, clear, au maximum dans le shell unix, ne supprime pas le contenu précédent, mais le déplace vers le haut et si vous faites défiler vers le bas, vous pouvez voir le contenu précédent.
Voici un exemple de code :
for (int i = 0; i < 50; ++i) System.out.println();
Une manière plus rapide d'accomplir ceci est d'imprimer une seule chaîne de 50 \r\n
avec un seul println
puisqu'il y a un retard notable entre println
appels.
Comment savoir combien de lignes la console est configurée pour afficher ? Cela peut fonctionner dans la plupart des cas, mais pas dans tous.
La plus grande différence entre ceci et un vrai clear
est que dans ce dernier cas, la nouvelle sortie sera en haut de l'écran et non en bas.
Si vous souhaitez une méthode plus indépendante du système, vous pouvez utiliser la fonction JLine bibliothèque et ConsoleReader.clearScreen() . Une vérification prudente pour savoir si JLine et ANSI sont supportés dans l'environnement actuel vaut probablement la peine d'être fait aussi.
Quelque chose comme le code suivant a fonctionné pour moi :
import jline.console.ConsoleReader;
public class JLineTest
{
public static void main(String... args)
throws Exception
{
ConsoleReader r = new ConsoleReader();
while (true)
{
r.println("Good morning");
r.flush();
String input = r.readLine("prompt>");
if ("clear".equals(input))
r.clearScreen();
else if ("exit".equals(input))
return;
else
System.out.println("You typed '" + input + "'.");
}
}
}
Lorsque vous l'exécutez, si vous tapez 'clear' à l'invite, l'écran s'effacera. Assurez-vous de l'exécuter à partir d'un terminal/console approprié et non dans Eclipse.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
1 votes
stackoverflow.com/questions/606086/