You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.5 KiB

  1. package Application;
  2. import java.io.InputStream;
  3. import java.io.PrintStream;
  4. import java.util.Scanner;
  5. public class Cli {
  6. private boolean isClearConsoleActive = true;
  7. private PrintStream printStream;
  8. private InputStream inputStream;
  9. private Scanner scanner;
  10. public Cli(PrintStream printStream, InputStream inputStream) {
  11. this.printStream = printStream;
  12. this.inputStream = inputStream;
  13. this.scanner = new Scanner(inputStream);
  14. isClearConsoleActive = true;
  15. }
  16. public PrintStream getPrintStream() {
  17. return this.printStream;
  18. }
  19. public Scanner getScanner(){
  20. return this.scanner;
  21. }
  22. public void clearConsole(){
  23. if(!isClearConsoleActive)
  24. return;
  25. try{
  26. String operatingSystem = System.getProperty("os.name");//Check the current operating system
  27. if(operatingSystem.contains("Windows")){
  28. ProcessBuilder pb = new ProcessBuilder("cmd", "/c", "cls");
  29. Process startProcess = pb.inheritIO().start();
  30. startProcess.waitFor();
  31. } else {
  32. ProcessBuilder pb = new ProcessBuilder("clear");
  33. Process startProcess = pb.inheritIO().start();
  34. startProcess.waitFor();
  35. }
  36. }catch(Exception e){
  37. this.getPrintStream().println(e);
  38. }
  39. }
  40. public void setClearConsoleActive(boolean clearConsoleActive) {
  41. isClearConsoleActive = clearConsoleActive;
  42. }
  43. }