2011-04-27 90 views
0

是否存在使用BufferedWriter發送大字符串(5Mb,一個xml文件,所有我只有一行)的問題?通過BufferedWriter發送大字符串

它的工作速度非常快。是否有一些禁止比幾K更長的金科玉律?然後,我會寫一些額外的文件傳輸協議... :-(

回答

0

如果成功,那麼它的工作原理。如果它不工作,打破字符串轉換成塊。

2

BufferedWriter本身贏得了」這決定了你爲什麼要緩衝,這取決於你在寫什麼......在局域網上,5MB並不是特別大,但是通過移動連接很長一段時間

換句話說,這取決於:沒有「黃金法則」禁止排長隊......但是我們不知道你使用的是什麼協議,有可能在你的特定協議中有大小限制。如果你想得到更詳細的答案,你必須添加更多的細節到你的問題...

0

這是5Mb線是你寫的唯一的東西?如果是這樣的話,BufferedWriter不會在Writer上添加任何內容。如果您正在進行大量小寫操作並希望將它們緩衝到較大的塊中以發送到底層Writer(可能會在其write()方法(例如磁盤查找時間/旋轉延遲)上),則BufferedWriter非常有用。

0

什麼可能是一個小問題是接收方 - 這是否接受這樣長的線? 某些程序可能準備接收較長的行,但針對短行的常見情況進行了優化,因此使用較長的行會減慢它們的速度。

此外,線路究竟是什麼組成也取決於系統 - 通常意味着在它(Unix)或\r\n(DOS/Windows /大多數公共Internet協議)之後出現\n

另外,還要注意的是行書面來電來的BufferedWriter write方法有兩個正交的東西 - 你可以多次調用write只寫一行可言,或者你可以寫多行只有一個致電write