2012-01-18 28 views
6

¿Hay algún límite de caracteres para la salida de la declaración System.out.println(String x) de Java?Límite de caracteres para System.out.println() en Java

Cuando intento imprimir XML desde una llamada al servicio web utilizando System.out.println(), solo una parte de él se imprime realmente en la consola.

La cadena XML que intento imprimir es enorme.

¿Por qué sucede esto?

+0

¿Puedes publicar una captura de pantalla para mostrar la naturaleza de tu salida? –

Respuesta

14

¿Usted está experimentando esto dentro de Eclipse? En caso afirmativo:

EDITAR:

  1. Ir a Ventana> Preferencias> Ejecutar/Depurar> Consola
  2. "Salida límite consola"
  3. Deseleccionar (. Como alternativa, puede aumentar el tamaño del búfer de la consola)

Source

+2

Solo una sugerencia amigable, las respuestas de solo enlace generalmente se desalientan en los sitios de Stack Exchange. Las respuestas deberían ser independientes sin depender de recursos externos. Las razones para esto se describen [aquí] (http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really-good-answers), [aquí] (http : //meta.stackexchange.com/q/116301/131713) y en varias otras publicaciones.Por lo general, solo marque mensajes como este y los mods luego los eliminen, pero como acaba de publicarlos, pensé que podría darle la oportunidad de actualizar (¡y posiblemente ganar algún representante!) Primero. – Pops

+0

Entiendo, pero en este caso especial, la respuesta está justo en la parte superior del sitio vinculado. De todos modos, podría ser útil tener la solución en SO, una vez que el sitio vinculado se caiga. Entonces, editar hecho ... – quaylar

3

Supongo que solo ve la última parte de la cadena porque la consola tiene un número limitado de líneas que puede mostrar.

Considere la posibilidad de registro en un archivo de Java, o redirigir la salida estándar del programa en un archivo:

java com.foo.bar.Main > output.log 
+0

+1 - no hay límite en el lado de Java (por ejemplo, en la pila de salida). –

+1

@Stephen_C Pila de salida? Como se ha señalado, existe un límite impuesto para una sola llamada a println, pero es enorme. – Jivings

3

Está limitado por el tamaño máximo de una cadena Java. Eso es todo. Esto debería ser el equivalente de la longitud Integer.MAX_VALUE (2147483647), que es el tamaño máximo de una matriz, ya que una Cadena es una matriz de caracteres.

De lo contrario, es el límite de capacidad de la consola Eclipse, como han dicho otros.

0

No existe realmente un máximo explícito, pero el desplazamiento en la cadena está determinado por int, por lo que Integer.MaxValue sería una limitación de IMO. También dependerá de tu memoria disponible.

Su mejor opción sería transmitir la salida y escribir porciones a la vez para asegurarse de obtenerlo todo.

1

Sé que la impresión de cadenas muy largas en la consola Eclipse hace que parte o la totalidad de la cadena se vuelva invisible. Es posible que desee dividir su xml en fragmentos. Si solo estás viendo la parte de la cola del xml, supongo que es el buffer de tu consola el que corta parte de él. @Quaylar publicó un enlace sobre esto.

Cuestiones relacionadas