用BufferedReader skip方法,开多线程
而且也不必都读完再显示吧。速度应该会提高很多的。good luck
而且也不必都读完再显示吧。速度应该会提高很多的。good luck
解决方案 »
- JScrollPane滚动条无法使用
- 求用JAVA实现数据采集方案
- 跪求!JToggleButton 问题 如何实现按下按钮重复做同一个动作,放开按钮停止?
- 分不太清二维数组
- 求在Applet中怎样拖动一个图形啊?
- 一个applet读取数据库,用appleviewer运行成功,详细如下,马上结分,我是一个爽快的人!
- jar 文件的运行问题
- solr查询
- 高手,一秒钟:JTextField如何限制长度输入,一定要编一个事件函数吗,谢谢
- 50分请教问题----报错信息如下:ClassCastException: com.sun.mail.pop3.POP3Store
- Java不释放内存资源问题。
- 谁能解决?10本电子书籍作为报酬 ...
《不必都读完再显示》你的想法我有想过。
另外有没有提供点代码过来?
sr.read(cs,0,sr.available());
while((code = sr.read(cs,0,BUFFER))!=-1){
sb.append(cs,0,code); //每次循环都重新分配内存,基本上每次多1024chars
}
当然,这个初始值很难确定。如果是读本地文件,可以直接使用文件长度,但是网络上的io基本上得凭经验
这就是在使用可变长容器(StringBuffer, ArrayList, HashMap......)时,通常大家直接使用其默认的构造函数(new StringBuffer(), new ArrayList()...), 就StringBuffer而言,默认16 char,每次append,缺多少char补多少,(这个算法着实有问题)实际的算法不是这样的,虽然默认大小会有些影响,但是影响不会太大。这种底层包各方面都有考虑的。他的处理机制还是很不错的。你可以自己去看看源代码就知道了