我生产了一个BufferedReader类,其是支持mark() operation的(我用public boolean markSupported()测试返回true).
我的代码如下:
...
BufferedReader Bin=new BufferedReader(ISR,1024) ;
...
String readline=Bin.readLine();
if(readline.startsWith("DEFINTION"))
{
DEFINITION_string=readline+"\n";
do{
Bin.mark(512);
neadline=Bin.readLine();
if(!neadline.startsWith("ACCESSION"))DEFINITION_string+=neadline+"\n";
}while(!neadline.startsWith("ACCESSION"));
}
....
用Bin.mark(512); ....Bin.readLine();
时报错:java.lang.NullPointerException
为什么?
我要如河用mark何reset()?
谢谢,请给我些提示!
neadline=Bin.readLine();也许返回null,当ISR被读完的时候,再接下来就空指针异常了。
BufferedReader Bin=new BufferedReader(ISR,1024) ;
...
String readline=Bin.readLine();
if(readline.startsWith("DEFINTION") && readline!=null)
//或
BufferedReader Bin=new BufferedReader(ISR,1024) ;
...
String readline;
;
while((readline=Bin.readLine())){
if(readline.startsWith("DEFINTION") && readline!=null)
//....
}