Java: Console transparente

Quelqu'un peut-il me dire, s'il vous plaît, quel code est utilisé pour clear screen à Java? Par exemple, dans C++


system/"CLS"/;


Quel code est utilisé dans Java Nettoyer l'écran?

Merci!
Invité:

Gilles

Confirmation de:

Puisqu'il y a plusieurs réponses montrant le code de non-travail pour Windows, Voici une explication:


Runtime.getRuntime//.exec/"cls"/;


Cette équipe est NE.

Fonctionne pour deux raisons:

Dans une installation standard Windows Aucun fichier exécutable nommé
cls.exe

ou
cls.com

, qui pourrait être causé par
Runtime.exec

, Depuis la célèbre équipe
cls

INTERPRÈTE DE LA LIGNE CONTRE COMMANDÉE Windows.

Lors du démarrage d'un nouveau processus à travers
Runtime.exec

La sortie standard est redirigée vers un canal pouvant lire l'initiation Java traiter. Mais quand la sortie de commande
cls

Redirection, il ne nettoie pas la console.

Pour résoudre ce problème, nous devons appeler l'interprète de ligne de commande /
cmd

/ et lui dire de remplir l'équipe /
/c cls

/, Qui vous permet d'appeler des commandes intégrées. Ensuite, nous devons connecter directement son canal de sortie au canal de sortie du processus. Java, qui fonctionne en commençant par Java 7, Utilisant
inheritIO//

:


import java.io.IOException;

public class CLS {
public static void main/String... arg/ throws IOException, InterruptedException {
new ProcessBuilder/"cmd", "/c", "cls"/.inheritIO//.start//.waitFor//;
}
}


Maintenant quand le processus Java Connecté à la console, c'est-à-dire qu'il a été démarré à partir de la ligne de commande sans rediriger la sortie, elle nettoie la console.

Francis

Confirmation de:

Pour nettoyer la console de ligne de commande, vous pouvez utiliser le code suivant:


public static void clearScreen// { 
System.out.print/"\033[H\033[2J"/;
System.out.flush//;
}


Pour plus d'informations, visitez le site:
http://techno-terminal.blogspo ... .html

Emmanuel

Confirmation de:

C'est comme ça que j'ai giclé avec ça. Cette méthode fonctionnera pour le cas Windows OS et cas Linux/Unix OS /Qu'est-ce que cela signifie que cela fonctionne aussi 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.
}
}

Gilbert

Confirmation de:

Façon de l'obtenir peut être sceller plusieurs extrémités des rangées /"\n"/ et imitation d'un écran propre. À la fin clear, Au plus B. unix shell, Ne supprimez pas le contenu précédent, mais ne le déplace que, et si vous faites défiler, vous pouvez voir le contenu précédent.

Voici un exemple de code:


for /int i = 0; i < 50; ++i/ System.out.println//;

Gaetan

Confirmation de:

Si vous souhaitez le rendre plus indépendant du système par le système, vous pouvez utiliser la bibliothèque.
https://github.com/jline/jline2
et
http://jline.sourceforge.net/j ... %2529
. Peut-être que c'est aussi minutieusement vérifiant,
http://jline.sourceforge.net/j ... %2529
dans l'environnement actuel.

Pour moi, quelque chose comme le code suivant a fonctionné:


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 démarrez cette application, si vous obtenez 'clear' Dans l'invitation, il nettoie l'écran. Assurez-vous de l'exécuter de la bonne console. terminal/, pas b. Eclipse.

Christine

Confirmation de:

Créez une méthode dans votre classe comme suit: [Comment

M'a dit
https://coderoad.ru/2979383/
@Holger .]


public static void clrscr//{
//Clears Screen in java
try {
if /System.getProperty/"os.name"/.contains/"Windows"//
new ProcessBuilder/"cmd", "/c", "cls"/.inheritIO//.start//.waitFor//;
else
Runtime.getRuntime//.exec/"clear"/;
} catch /IOException | InterruptedException ex/ {}
}


Ça marche pour windows Au moins, je n'ai pas encore vérifié Linux. Si quelqu'un en vérifie Linux, S'il vous plaît laissez-moi savoir s'il travaille /ou non/.

En tant que méthode alternative, vous devriez écrire ce code dans
clrscr//

:


for/int i = 0; i < 80*300; i++/ // Default Height of cmd is 300 and Default width is 80
System.out.print/"\b"/; // Prints a backspace


Je ne vous recommanderai pas d'utiliser cette méthode.

Alice

Confirmation de:

Essayez ce qui suit :


System.out.print/"\033\143"/;


Cela fonctionnera parfaitement dans l'environnement. Linux

Emile

Confirmation de:

Runtime.getRuntime//.exec /cls/ fait NOT travailler sur mon ordinateur portable XP. C'est arrivé -


for/int clear = 0; clear < 1000; clear++/
{
System.out.println/"\b"/ ;
}


J'espère que c'est utile

Cyprien

Confirmation de:

Cela fonctionnera si vous le faites dans Bluej ou tout autre logiciel similaire.


System.out.print/'\u000C'/;

Eugene

Confirmation de:

Vous pouvez utiliser l'émulation
cls

par
for /int i = 0; i < 50; ++i/ System.out.println//;

Babette

Confirmation de:

Vous devez utiliser des caractères de contrôle comme une tresse inverse /\b/ et retour au chariot /\r/. Par défaut, il est désactivé, mais la vue Console peut interpréter ces contrôles.

Windows>Preferences

et

Lancer/déboguer une console >

et sélectionnez

Interpréter les symboles de contrôle

ASCII, Pour l'allumer

https://i.stack.imgur.com/Rzfxi.png
Après ces configurations, vous pouvez gérer votre console avec des caractères de contrôle, tels que:

\t - Table.

\b - backspace /Reculer dans le texte ou enlèvement d'un symbole/.

\n - nouvelle ligne.

\r - Retourner le chariot. //

\f - Forme.

https://i.stack.imgur.com/o5Lzr.gif
Plus d'informations à l'adresse:
https://www.eclipse.org/eclips ... m.php

Ernest

Confirmation de:

Essayez ceci: cela ne fonctionne que sur la console et non dans la console intégrée. NetBeans.


public static void cls//{
try {

if /System.getProperty/"os.name"/.contains/"Windows"//
new ProcessBuilder/"cmd", "/c", "cls"/.inheritIO//.start//.waitFor//;
else
Runtime.getRuntime//.exec/"clear"/;
} catch /IOException | InterruptedException ex/ {}


}

Pour répondre aux questions, connectez-vous ou registre