2012-02-16 21 views
14

In Java ho provato a scrivere una stringa come output sulla console. La lunghezza della stringa è di 20166 caratteri. Dopo aver stampato la stringa sulla console, viene visualizzata solo la seconda metà della stringa.La console di Eclipse non mostra l'intera uscita

l'intera stringa è una lunga fila:

Che assomiglia: Fin dall'inizio c'è un sacco di spazi bianchi (che si suppone siano caratteri alfanumerici) e dopo che c'è il resto del la stringa viene visualizzata correttamente.

Ho provato a cambiare la codifica della console da predefinita a UTF-16 e UTF-8, ma non è stato d'aiuto.

La stringa che sto cercando di trasmettere è il contenuto di testo scansionato da una pagina Web specifica (http://docs.jquery.com/Tutorials:Getting_Started_with_jQuery). Se eseguo la scansione di una pagina Web diversa, non ci sono problemi.

Come elaborare la stringa: Uso un servizio Web per ottenere il contenuto del testo dalla pagina Web. La stringa restituita (contet di testo) viene stampata correttamente (intero). Ho bisogno di elaborare questa stringa in modo da modificare tutti i caratteri in minuscolo e sostituire tutti più spazi bianchi con quello singolo.

textContent.toLowerCase().replaceAll("\\s+", " "); 

Dopo caratteri minuscoli i personaggi sono ancora in grado di stampare un'intera stringa correttamente, ma dopo aver sostituito le molteplici spazi bianchi con uno, l'inizio della stringa non è visibile.

Avete qualche idea di quale sia il problema?

Thakns in anticipo per qualsiasi aiuto.

+0

accade solo con Eclipse? Voglio dire, hai provato a eseguirlo dalla console e il risultato è quello che ti aspetti? – fortran

+0

Possibile duplicato di [Limite di caratteri per System.out.println() in Java] (http://stackoverflow.com/questions/8912202/character-limit-for-system-out-println-in-java). –

risposta

20

Quali sono le preferenze per la console? Controllare soprattutto le impostazioni "Console a larghezza fissa" più "Uscita console di limitazione". Forse la tua console semplicemente non può contenere tanti caratteri in una riga.

[EDIT] Ora Eclipse alla fine deve tagliare i dati nella console poiché non ha una quantità infinita di memoria. Se la console è ancora tagliata, puoi utilizzare questo trucco: Apri la finestra di dialogo "Esegui configurazioni" (nel menu a discesa del pulsante "Esegui" verde).

Nella scheda "Comune" sono presenti opzioni nel gruppo "Ingresso e uscita standard" nella parte inferiore per salvare una copia di tutto l'output in un file. È quindi possibile utilizzare gli strumenti del sistema operativo per esaminare questo file.

Si noti inoltre che le linee molto lunghe possono rallentare Eclipse (ovvero può bloccarsi per un paio di secondi). Ciò è dovuto a un bug in the regexp matching patterns for Exception stack traces. Se ciò accade, limitare la lunghezza della linea a 1000 caratteri o meno.

Questo è soprattutto un problema con Spring che a volte crea eccezioni con 50.000 caratteri nel messaggio.

Se hai un problema simile con il CDT globale Costruire Console, vedere qui: Eclipse CDT Build Console output not displaying entire compiler output

+0

Dopo aver impostato 'Console larghezza fissa' posso vedere l'intero risultato. Grazie per aver risolto il problema. Ma hai qualche idea della causa? Potrebbe essere un bug di Eclipse? – mimo

+0

Ciao, sto usando eclipse Kepler, ho deselezionato l'opzione per limitare la lunghezza dell'output della console eppure sta ancora tagliando l'inizio del log quando diventa troppo lungo, il che rende il debug/molto/difficile considerando che posso trovo la causa principale ... Penso che questo debba essere un bug di eclissi, c'è una soluzione? – Troyseph

+0

@SebastianTroy: si prega di fare una nuova domanda - altre persone hanno probabilmente lo stesso problema. –

1

Verificare se la dimensione del buffer console è abbastanza per il vostro caso, in Preferenze. Di solito è di 80000 caratteri, nel caso sia stato cambiato.

+0

Ho modificato la dimensione del buffer in modalità illimitata deselezionando 'Output console limit', ho dimenticato di menzionarlo nel mio post. – mimo

21

Questo non è un bug. È 1 delle impostazioni modificabili che Eclipse include per rendere l'output più leggibile.Può essere modificato andando su Windows -> Preferenze -> Esegui/Debug -> Console e quindi deselezionando "Uscita console di limitazione" che è attiva per impostazione predefinita.

Per ulteriori informazioni e dettagli su queste impostazioni visitano http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Freference%2Fpreferences%2Frun-debug%2Fref-console.htm

+0

grazie .. la tua risposta mi ha aiutato anche .. l'ho upvoted .. @Menezes Sousa –

+0

Questa risposta è più pratica della risposta controllata, penso. Upvoted! – limonik

+0

Per un Mac è Eclipse> Preferenze> Esegui/Debug> Console. E sì, questa dovrebbe essere la risposta accettata. – Munib

Problemi correlati