博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BufferedReader的mask和reset  
阅读量:6534 次
发布时间:2019-06-24

本文共 1387 字,大约阅读时间需要 4 分钟。

BufferedReader的mask和reset

浏览:loading次  时间:2008-10-18 06:53:37
    有个程序,需要BufferedReader读到最后一行后,然后返回到第n行,因为还要用来做别的用处。
      因为以前不太常用这种方法,看了javadoc,public void mark(int readAheadLimit),于是自己随便填了数字进去,这么做的话,如果数据量很大,肯定会有错误出来,如果数据量很小,又有点浪费,现在不知道怎 么改了,特地求教一下,应该怎么写才能让BufferedReader返回某一行呢?给点建议也成,谢谢  代码如下    (buf 就是那个BufferedReader)
   
Java code
 
int
i
=
0
; strTemp
=
buf.readline(); buf.mark(
99999
);
while
((strTemp
!=
null
)
&&
(strTemp.trim().length()
!=
0
)){ i
++
; strTemp
=
buf.readLine(); } buf.reset();

用户名:bluesmile979  得分:100  时间:2008-10-18 09:01:43
建议如下思路
int i=0;
    strTemp = buf.readline();
 
int nMark = 999999;
    long size = 0;
    buf.mark(nMark);
    while ((strTemp != null) && (strTemp.trim().length() != 0)){
        i++ ;
        strTemp = buf.readLine();
        size += strTemp.length();
        if(size>nmark){
              buf.reset();
              nMark +=nMark;
              buf.mark(nMark);
              buf.skip(size);
          }
    }
    buf.reset();
只是演示一下我的思路,关于效率,skip函数不会浪费太多时间的。

用户名:bluesmile979  得分:40  时间:2008-10-21 06:47:12
大多数处理采用的方法是先读出来,经过简单处理后,保存到其他的地方,比如数组容器,然后再进行具体的处理。
毕竟反复操作io数据流不是什么好事情。效率,安全性都值得怀疑。

用户名:xdy018192  得分:0  时间:2011-05-24 10:03:19
表示看不太懂。。。。。。。。

用户名:hfzlmx  得分:0  时间:2008-12-05 00:53:14
说的好,顶一个

用户名:fighter1945  得分:0  时间:2008-10-21 08:32:56
    非常感谢,ls真是负责到底。
      啥也不多说了,加分奉上。

用户名:fighter1945  得分:0  时间:2008-10-21 06:22:04
好思路,不过类似的东西怎么在网上根本就找不见呢,难道大家都是一口气读到底,从来不用返回就完了?

用户名:bluesmile979  得分:0  时间:2008-10-18 09:03:07
至于步长nMark,就可以根据估计的数据量,可能超出的范围来设定初始值以及每次增加多少。比如我这里每次增加一倍。

转载地址:http://wpwdo.baihongyu.com/

你可能感兴趣的文章
Hyper-V 2016 系列教程41 Windows 10 Hyper-V 系统要求
查看>>
EC2 WordPress 移动目录
查看>>
Windows Server 2008 启用公共文件夹共享
查看>>
【运维故事】职场如何领先一步?
查看>>
如何提高SEO优化团队效率
查看>>
SFB 项目经验-17-Windows 2012 R2-补丁打到最新-问题-KB2982006
查看>>
用hadoop中的libhdfs和fuse-dfs构建快速云存储
查看>>
Apple Watch的非“智能手表”卖点
查看>>
fedora17升级到fedora18
查看>>
单例模式(Singleton)
查看>>
函数指针和指针函数
查看>>
Python的函数参数传递:传值?引用?
查看>>
[转]分享2011年8个最新的jQuery Mobile在线教程
查看>>
android call require api level
查看>>
Mac下android环境搭建
查看>>
创建Visual Studio项目模版向导的几篇参考文章
查看>>
深入浅出SQL Server Replication第一篇:走近Replication(上)
查看>>
[TopCoder][SRM] SRM 562 DIV 2
查看>>
SQLSERVER是怎麽通过索引和统计信息来找到目标数据的(第一篇)
查看>>
LocalAlloc,VirtualAlloc,malloc,new的异同
查看>>