¿Hay alguna opción para borrar la pantalla en Java como clrscr() en C.opción de pantalla claro en java
Respuesta
cortes sucios Como ir, me gusta la solución de msparer. Un método aún más sucio que he visto utilizar (nunca lo haría yo mismo. Lo juro, realmente.) Es escribir un montón de líneas nuevas en la consola. Esto no borra la pantalla en absoluto, pero crea la ilusión de una pantalla clara para el usuario.
char c = '\n';
int length = 25;
char[] chars = new char[length];
Arrays.fill(chars, c);
System.out.print(String.valueOf(chars));
No me atreví a escribir esta respuesta. Niza :-) – LB40
@LB: admito que esta es probablemente la * peor * forma de hacerlo. A veces solo tienes que compartir tus WTF. :) –
¿Cómo es esto diferente de 'System.out.print ("\ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n ");' que es una línea en lugar de cinco? – Tenner
Si estamos hablando acerca de la consola, entonces no. Escribir en la consola es solo un caso especial de una secuencia de salida. Las transmisiones de salida no saben nada sobre la pantalla, ya que pueden ser fácilmente redirigidas a un archivo u otro dispositivo del sistema.
Si está hablando de una aplicación de consola, entonces no hay una opción de pantalla clara AFAIK. Una opción bastante sucia sería invocar el comando de pantalla clara del sistema operativo subyacente.
Entonces es algo así como
Runtime.getRuntime().exec("cls");
para Windows o
Runtime.getRuntime().exec("clear");
para una carga de otro sistema operativo. Puede encontrar el sistema operativo con System.getProperty("os.name")
.
'sucio' muy' sucio': D –
no funciona. Lo intenté en Windows XP. – user161004
Creo que 'cls' es una función incorporada, no un ejecutable real. –
Para Windows, el proyecto Java Console API proporciona la funcionalidad para determinar el tamaño de la consola y establecer la posición del cursor. Limpiar la pantalla es trivial con eso. Ahora es una versión 0.2, por lo que no está lista para producción, pero funciona.
O bien, simplemente puede imprimir algunas líneas nuevas a través de System.out.println()
. 640 debería ser suficiente para todos :-) No es lo mismo que borrar la pantalla, pero para los propósitos y propósitos del usuario sería suficiente.
Para cualquier consola que soporta ANSI escapa de la siguiente funcionaría (sería por ejemplo el trabajo en consola Win98).
private final String ANSI_CLS = "\u001b[2J";
....
System.out.print(ANSI_CLS);
System.out.flush();
...
A partir de Windows NT, esto no funcionará más y usted puede o bien
- hacer una llamada JNI (por ejemplo, como aquí: Java: Clear console and control attributes
- O escribir un montón de líneas vacías
lo contrario, están fuera de suerte.
Y por cierto. debe tener en cuenta que System.out
y System.err
no tienen que ser consola, podrían configurarse de todas maneras (escribiendo en un archivo, por ejemplo) un uso donde borrar la pantalla no tendría ningún sentido.
+1 impresionante respuesta correcta. –
usted debe darle una oportunidad con JNA y se puede intentar bibliotecas nativas:
- en Linux debe asignar funciones de C desde ncurses biblioteca
- en las ventanas debe asignar funciones tanto de msvcrt y kernel32, como se ha dicho con claridad here
PS
dejarme conocido si necesita un código de ejemplo
Jansi es una excelente solución. Soy un codificador aficionado y Jansi es fácil de configurar especialmente con Eclipse.
El siguiente es un enlace a la página principal de Jansi:
El siguiente es un enlace a un sitio que contiene un código como una demostración de clase AnsiConsole contenida en el paquete Jansi:
Para borrar la pantalla sólo tiene que escribir:
System.out.print('\u000C');
No funcionó para mí en Windows – paullb
También puede intentar ANSI códigos de escape:
Si el soporte del terminal, intentar algo como esto:
System.out.print("\033[2J\033[1;1H");
Puede incluir \0333[1;1H
estar seguro de si \0333[2J
no se mueve el cursor en la parte superior esquina izquierda.
Más específicamente:
033
es el octal deESC
2J
es para la limpieza de toda la pantalla de la consola/terminal de1;1H
mueve el cursor a la fila 1 y la columna 1
Esta es la única solución ANSI que funciona de manera consistente dentro de mi terminal Linux. Especialmente el reposicionamiento del cursor al final lo hace lucir agradable y limpio. Además, respeta el tamaño (altura) de la ventana. –
- 1. Django: Opción de pantalla Valor
- 2. claro de la pantalla antes de la explosión
- 3. Java Vector: claro vs método removeAllElements
- 4. Borrado rápido (no claro) un ByteBuffer en Java
- 5. Captura de impresiones de pantalla en Java
- 6. Modo de pantalla completa de Java no funciona en Ubuntu
- 7. No hay opción de proyecto java en eclipse
- 8. JQuery Flot: gráfico claro
- 9. Claro inferior 16 bits
- 10. Poco claro typedef tipo
- 11. C++ vector :: claro
- 12. Depósito remoto claro de Git
- 13. campos claro después de éxito
- 14. VB Claro Scripting.Dictionary objeto
- 15. Fuerza barniz claro caché
- 16. DataPointCollection Claro rendimiento
- 17. Opción de marco de plugin de Java
- 18. pantalla de código java resolución
- 19. Opción de autenticación de Java Web Start
- 20. no podía comprender la aplicación de un método claro de HashMap en Java
- 21. Java encuentra la imagen en la pantalla
- 22. comandos en java para borrar la pantalla
- 23. ¿Cómo obtener la pantalla DPI en Java?
- 24. CLS (claro) una sola línea?
- 25. asp net javascript Caché claro
- 26. cabeceras Claro previamente establecidos php
- 27. Java Windows 8 Pantalla completa?
- 28. Javascript claro para jQuery - clientHeight
- 29. Java GUI Pantalla completa para pantallas múltiples
- 30. Android Java: Apagar la pantalla
¿Borrar * qué * pantalla? ¿Estás hablando de una aplicación de consola? –
sí sobre la aplicación de consola – user161004