BufferedWriter 默认缓冲区是多大

linyan179 2010-07-12 03:13:44
用BufferedWriter向FTP写文件,如果是小文件的话,一切正常,但是文件过大时,就会有乱码或者文件写不完整的问题。
怀疑是缓冲区太小了,用的是默认的缓冲区,查看API也没说默认缓冲区多大,有哪位高手知道的?
代码如下:

BufferedWriter sbw = new BufferedWriter(new OutputStreamWriter(saveftp.put(localpath,filename),"UTF-8"));

while (rs.next()) {
StringBuffer line = new StringBuffer("'");
line.append(rs.getString(1));
for(int i=2; i<=col; i++){
if(rs.getString(i)!=null){
line.append(op + rs.getString(i).trim());
}else{
line.append(op + "0");
}
}
line.append("'");
bw.write(line.toString());
bw.newLine();
}
bw.flush();
bw.close();
...全文
630 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
linyan179 2010-07-26
  • 打赏
  • 举报
回复
问题已解决了,不是缓存的问题,是同时向两个地方写出了问题,和缓冲区大小没关系,用默认的就行了
luozhangwen 2010-07-16
  • 打赏
  • 举报
回复


private static int defaultCharBufferSize = 8192;


public class BufferedWriter extends Writer {

private Writer out;

private char cb[];
private int nChars, nextChar;

private static int defaultCharBufferSize = 8192;

/**
* Line separator string. This is the value of the line.separator
* property at the moment that the stream was created.
*/
private String lineSeparator;

/**
* Create a buffered character-output stream that uses a default-sized
* output buffer.
*
* @param out A Writer
*/
public BufferedWriter(Writer out) {
this(out, defaultCharBufferSize);
}
lovepu 2010-07-16
  • 打赏
  • 举报
回复
百度看看啊 。。没有试试过。。。
linyan179 2010-07-12
  • 打赏
  • 举报
回复
有哪个高手知道的啊?

50,504

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧