des commandes en java pour effacer l'écran
Quelle commande en Java vous permettra d'effacer la console dans une application en ligne de commande?
- Veuillez préciser. Sur quel écran? La console?
- l'écran par le chemin?
Vous devez vous connecter pour publier un commentaire.
Je pense que ce que l'OP veut, c'est pour effacer l'écran et déplacez le curseur à la position d'origine. Pour l'essayer:
Cela dépend de votre console, mais si elle prend en charge Des séquences d'échappement ANSI, puis essayez ce..
Exécuter cet exemple de programme: il montre comment effacer la console à l'aide d'une séquence d'échappement et de repositionner le curseur à la position X=1, Y=1.
Je l'ai testé sur plusieurs terminaux Linux. Ne sais pas si il fonctionne sous Windows.
Peut-être vous pouvez me le dire 😉
Lire cet article sur les séquences d'échappement.
buffer = System.out;
System.out.print(ESC+"[1;1H");
System.out.flush();
System.out.println("Lorem ispum ....");
System.out.print(ESC+"[1;1H");
System.out.flush();
System.out.println(buffer);
De compensation d'un écran requiert généralement envoyant des séquences de contrôle spécifiques à l'écran de la borne que votre demande est en cours d'exécution en vertu de l'. Options:
Si vous savez que vous aurez toujours en cours d'exécution en vertu d'un terminal en particulier, et de trouver le bon séquences de contrôle pour effacer l'écran de ce terminal, juste à la sortie de ces séquences. Si vous nous raconter l'écran, nous pouvons être en mesure de vous dire la séquence (probablement un peu ANSI/VT100/VT220 -compatible).
Externe assurer que votre application s'exécute toujours dans le terminal, par exemple un script pour démarrer votre application démarre l'application souhaitée dans la borne. Alors la sortie de la nécessaire séquence de caractères à effacer l'écran.
Prendre le contrôle du terminal à l'aide d'un terminal d'émulation de la bibliothèque, c'est à dire vous app est maintenant un fenêtrage application qui crée une fenêtre de terminal à écran de l'utilisateur à utiliser. Vous avez alors le contrôle de ce terminal d'émulation et savoir à quoi séquences de contrôle sont nécessaires.
Utiliser un terminal de la bibliothèque (par exemple, l'historique
curses
bibliothèque) qui détecte le terminal et fournit une interface uniforme de ses caractéristiques. Voir cette question:Ce qui est une bonne Java, les malédictions, de la bibliothèque pour les applications de terminal?
De faux en écriture d'une série de lignes à l'écran.
Il est toujours évident (et encombrants)..
System.out.println()
.de compensation pour bash qui fonctionne pour moi:
Si aucune des solutions ci-dessus fonctionne pour vous( comme dans mon cas ), essayez cette solution:
Je suis sur Windows 8 et cette solution a fonctionné pour moi. Espérons qu'il ne vous en tant que bien. 🙂
imprime la chaîne, puis déplace le curseur à la ligne suivante.
imprime la chaîne et laisse le curseur immédiatement après que la chaîne de caractères.
Pour résoudre le problème, identifié ci-dessus, le curseur sur la deuxième ligne de la console, utilisez
print
au lieu deprintln
.Je l'ai fait dans BlueJ et il a parfaitement fonctionné: Essayez
Système.out.print("\f");
À ma connaissance de Windows 10 Fenêtre de Commande cmd.exe ne supporte pas l'ANSI ESC séquences, malgré les rumeurs. Pour avoir l':
méthode de travail vous avez besoin d'une ligne de commande de l'émulateur qui prend en charge ANSI, comme ConEmu64.
Il y a deux façons très simples pour résoudre ce problème, la première est la force brutale, option:
Le problème avec cela, cependant, est qu'il n'pseudo efface l'écran, vous pouvez faire défiler pour voir les données, mais n'ayez pas peur, il y a une autre façon!
Le tour est joué! Cela devrait faire l'affaire, même si le curseur se trouve sur la deuxième ligne de la console une fois que l'écran est vide.