关于java控制台的“非顺序输出”,关于控制台缓冲区。

     今天在将网络爬虫爬下来的微博数据通过java控制台输出的时候,无意中发现好像数据与原txt文件中的内容不太匹配,让人感觉原本顺序读取的文件是乱序输出的。



    原txt文件前几条数据:




     控制台输出前几条数据:

    个人觉得很纳闷,问了几个对java很感兴趣的同学,却都没有能够从实质上回答我的疑问。有人说是java自动创建的多线程,也有人说是控制台自己出错了(设置断点调试的时候是按顺序一条一条输出,但把断点去掉就“乱序”了),开始我也怀疑是程序的问题,后来我无意中在eclipse中发现了这样一个设置:控制台缓冲区大小。



    这时我才意识到,我想要显示的记录其实都已经在控制台显示了,但是由于控制台缓冲区容量不足以装下整个文件记录,导致在缓冲区满了的时候直接刷新,显示余下的数据记录。于是我就把缓冲区扩大,再次运行就“顺序”显示了。



    更改控制台缓冲区:在eclipse中,在Preferences-〉Run/Debug-〉Console里边,设置一下buffer size的设定值。如图:

      


       如果我的理解有误,请各位大佬不吝赐教。合抱之木,生于毫末。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值