Soru Java'da Konsol Nasıl Temizlenir?


Saçlarımı uzun zamandır bu yana çekiyorum. Java'da bir konsolu nasıl temizleyeceğimi bir saat araştırdım.

Tek bulduğum, ya bir grup çizgi basıp bunu yürütmekle kirletmekti.

Runtime.getruntime.exec("cls/clear");

Ancak, hiçbir şey benim için çalışmıyor gibi görünüyor. C'deki gibi Java'da konsolu temizlemenin bir yolu yok mu?clrscr();). Bunun gerçekleştirilebileceği herhangi bir harici kütüphane yok mu.

Kirli hack yerine uygun bir işlev, kütüphane vb. Kullanmadan önce bunu yapan herhangi biri varsa lütfen bana bildirin.


27
2018-04-20 06:21


Menşei


'C gibi mi? Sanırım bunu C dilinde yapmanın tek yolu ncurses gibi bir kütüphane kullanmak. Eğer peşindeyseniz, bu soru Java ile benzer / özdeş sonuçların nasıl elde edileceğini açıklar: stackoverflow.com/questions/439799/.... - Hassan
Eğer bir VT100 Terminaliniz varsa, Escape Kodlarını kullanabilirsiniz (Esc [2J Clear screen ED2]) ascii-table.com/ansi-escape-sequences-vt-100.php Diğer Terminaller için başka kaçış kodları olabilir. Eclipse konsolu, herhangi bir çıkış kodu hariç. - Andreas
Benzer soru: Java: Konsolu temizle - Siva Charan


Cevaplar:


Terminaliniz destekliyorsa ANSI çıkış kodlarıBu, ekranı temizler ve imleci ilk satıra taşır, ilk sütun:

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

Bu neredeyse tüm UNIX terminalleri ve terminal emülatörlerinde çalışır. Pencereler cmd.exe ANSI çıkış kodlarını yorumlamaz.


17
2018-04-20 06:41



ubuntu'da eclipse konsolunda çalışmıyor - sziraqui
Çünkü Eclipse konsolu ANSI çıkış kodlarını desteklemiyor. - IMustBeSomeone


Bu kodu dene

import java.io.IOException;

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

Artık Java işlemi bir konsola bağlı olduğunda, konsolu temizleyecektir.


5
2018-04-28 14:54





Runtime.getRuntime().exec("PlatformDepedentCode");

Platformunuzun net konsol komutuyla "PlatformDependentCode" değiştirmelisiniz.

exec() yöntem, argüman olarak girdiğiniz komutu tıpkı konsolda girilmiş gibi yürütür.

Windows'da bunu Runtime.getRuntime().exec("cls");.


3
2018-04-20 06:25



Runtime.getRuntime().exec("cls"); Pencerelerde çalışmıyor (her zaman). - Lion


Aşağıdaki kodu kullanın:


System.out.println("\f");

'\ f' bir kaçış dizisi hangi temsil eder Form besleme. Konsolu temizlemek için projelerimde kullandım. Bu diğer kodlardan daha basit, sanırım.


1
2017-12-01 17:01





Konsolu temizlemek için talimat vermeniz gerekir.

Seri terminaller için bu, tipik olarak "kaçış dizileri" denilen, özellikle de vt100 set çok yaygın bir şekilde desteklenmiştir (ve yakın ANSI-kuzeni).

Windows geleneksel olarak "kutudan çıkmış" sekansları desteklememiş, ancak bunları yapmak için API çağrılarına güvenmiştir. Ancak, Windows'un DOS tabanlı sürümleri için, ANSI.SYS sürücüsü bu desteği sağlamak için yüklenebilir.

Yani, Windows altındaysanız, uygun Windows API ile etkileşime girmelisiniz. Standart Java çalışma zamanı kitaplığının bunu yapması için kod içerdiğine inanmıyorum.


0
2018-04-20 06:37





Clrscr () 'yi döngü yazdırma için "\ b" ile kolayca kullanabilirsiniz.


0
2017-08-02 09:57





Pencereleri kullanıyorsanız ve programı çalıştırmadan önce ekranı temizlemeyi düşünüyorsanız, dosyayı bir .bat dosyasından derleyebilirsiniz. Örneğin:


cls

java "derler sınıfının adı ne?"


"Etc" olarak kaydedin .bat ve sonra komut isteminde arayarak veya dosyaya çift tıklayarak çalıştırabilirsiniz


-1
2018-04-07 16:45



yaklaşımınız kullanıldığında program başlatılmadan önce her şeyi temizler, ancak soru java programı çalışırken çalışma zamanında ekranın temizlenmesiyle ilgilidir. - Rahul Sharma