Java的System.out.println(String x)
語句的輸出是否有任何字符限制?Java中System.out.println()的字符限制
當我嘗試使用System.out.println()
從Web服務調用中打印某些XML時,實際上只打印了其中的一部分內容。
我試圖打印的XML字符串很大。
這是怎麼發生的?
Java的System.out.println(String x)
語句的輸出是否有任何字符限制?Java中System.out.println()的字符限制
當我嘗試使用System.out.println()
從Web服務調用中打印某些XML時,實際上只打印了其中的一部分內容。
我試圖打印的XML字符串很大。
這是怎麼發生的?
只是一個友好的提示,在Stack Exchange站點上通常不鼓勵鏈接回答。答案應該能夠獨立,而不依賴於外部資源。這裏描述的原因[這裏](http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really-good-answers),[這裏](http ://meta.stackexchange.com/q/116301/131713)和其他幾個帖子。通常我只是標記這樣的帖子,mods然後刪除它們,但是既然你剛剛發佈了它,我想我會給你一個機會來首先更新(並可能賺取一些代表!)。 – Pops 2012-01-18 15:00:39
我明白 - 但在這種特殊情況下,答案就在鏈接網站之上。 無論如何 - 一旦鏈接網站出現故障,在SO上提供解決方案可能會很方便。所以 - 編輯完成... – quaylar 2012-01-18 15:05:43
我的猜測是你只能看到字符串的最後一部分,因爲控制檯只能顯示有限的行數。
考慮的Java記錄到文件,或從程序的標準輸出重定向到一個文件:
java com.foo.bar.Main > output.log
+1 - Java端沒有限制(例如在輸出堆棧中)。 – 2012-01-18 14:59:52
@Stephen_C輸出堆棧?正如已經指出的那樣,對於println的單個調用是有限制的,但是它是巨大的。 – Jivings 2012-01-18 15:24:18
如果您使用的是Eclipse,這是因爲在容量上的限制的Eclipse輸出控制檯。看到這個問題:How do I increase the capacity of the Eclipse output console?
你受限於Java字符串的最大大小。就這樣。這應該等於長度Integer.MAX_VALUE(2147483647),它是數組的最大大小,因爲String是char數組。
否則,正如其他人所說,這是Eclipse控制檯的容量限制。
確實沒有明確的最大值,但字符串中的偏移量是由int確定的,所以Integer.MaxValue將是IMO的一個限制。這也取決於你的可用內存。
你最好的選擇是一次流式輸出和寫入部分,以確保你得到它。
我知道在Eclipse控制檯中打印很長的字符串會導致部分或全部字符串變爲不可見。你可能想把你的xml分解成塊。如果你只看到xml的尾部,那麼我猜測你的控制檯緩衝區會裁剪掉它的一部分。 @Quaylar發佈了一個關於此的鏈接。
你可以發佈截圖來顯示你的輸出的性質? – 2012-01-18 14:59:53