2016-04-25 9 views
10

Nie znalazłem żadnego polecenia, aby wyczyścić konsolę JShell Java-9. Próbowałem również wyczyścić konsolę JShell za pomocą tego programu, ale to też nie działa.Jak wyczyścić konsolę JShell Java 9?

import java.io.IOException; 

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

Myślę, że nie mamy jeszcze tej funkcjonalności dostępnej we wczesnym dostępie. Czy ktoś ma pomysł?

+0

Istnieje otwarty błąd rozwiązujący ten problem: https://bugs.openjdk.java.net/browse/JDK-8153762?jql=project%20%3D%20JDK%20AND%20component%20%3D%20tools% 20AND% 20Skomponent% 20% 3D% 20jżwyść% 20ORDER% 20BY% 20status% 20DESC –

+1

To nie jest * błąd *, to żądanie funkcji. Moja odpowiedź daje obejście. – Maroun

+0

Masz rację @MarounMaroun, przepraszam za złe sformułowania. to zdecydowanie jest przyszłe życzenie. –

Odpowiedz

0
  • Dodałem polecenie wyczyść konsolę w JShell. Można go pobrać ze Try artifact

->/CLS

  • Obsługuje również Maven w JShell.
+0

Możesz używać wiązań emacs. Tak więc w tym przypadku po prostu wpisz: Ctrl-L –

3

Można użyć następującego polecenia (reference):

System.out.print("\033[H\033[2J"); 

Przykład:

-> System.out.println("Hello, JShell!") 
Hello, JShell! 

-> System.out.println("How are you?") 
How are you? 

-> System.out.print("\033[H\033[2J"); 

Teraz masz jasny konsolę.

+1

Przepraszam, nie zadziałało to dla mnie. Mam "← [H ← [2J" na konsoli. W jakim systemie operacyjnym go testujesz? Używam WINDOWS. –

+1

@ B.Singh Używam Ubuntu. Postaram się znaleźć rozwiązanie dla systemu Windows. – Maroun

+0

Jakiekolwiek powody, dla których '/ clear' nie było użytecznym poleceniem rozwiniętym tutaj? –

0

W terminalu MacOS, można użyć skrótu CMD + K wyczyścić konsolę JShell.