2011-04-27 120 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