Cześć, mam pytanie dotyczące czyszczenia ekranu konsoli w Javie. Szukałem polecenia podobnego do system("CLS"); z C++, które wyczyści konsole. Znalazłem ten temat na stackoverflow:
link ze stackoverflow
Kod tego programu:
import java.io.IOException;
public class CLS {
public static void main(String... arg) throws IOException, InterruptedException {
System.out.println("Coś tam"); //dodana jakaś tresc, która powinna zostać wyczyszczona.
new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
System.out.println("Coś tam 2");
}
}
A także TEN film na YT (wygląda nieco inaczej, ale zasada działania jest chyba identyczna.
Kod programu:
import java.io.IOException;
public class test {
public static void main(String... arg) {
for(int i=1; i<=10; i++)
{
System.out.println(i);
cls();
}
}
// code for clear function
public static void cls()
{
try
{
new ProcessBuilder("cmd","/c","cls").inheritIO().start().waitFor();
}catch(Exception E)
{
System.out.println(E);
}
}
}
Niestety, obydwa programy nie działają, tj. nie czyszczą ekranu z poprzednich instrukcji. Zauważyłem, że gdy z wiersza
new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
usunę "/c", to w NetBeansie odpala mi się konsola cmd i mogę tam wpisywać różne komendy. Kiedy wywołałem cmd z menu start i wpisałem samą komendę /c to pojawiła się informacja, że nie jest rozpoznawana. I teraz pytanie, czy powyższe programy nie działają dlatego, że nie działa mi na komputerze polecenie /c? Dodam, że ostatnio musiałem coś zrobić w cmd i nie działała komenda touch, której bez problemu używał mój kumpel w domu. Czy jest możliwe, że mam jakiś problem ze sterownikami/systemem na komputerze i nie działają mi niektóre komendy?
Dodam, że sprawdzałem już zmienne środowiskowe i mam tam wpisaną ścieżkę do system32.