为什么这个程序不返回值?
import
java.io.FileNotFoundException;
import
java.io.IOException;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.Writer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class GetPageCount {
public int getPageCount() throws
IOException{
BufferedReader reader=new BufferedReader(new FileReader( "E:\\jsp\\test.txt "));
String line=reader.readLine();
int i = 0;
while(line!=null){
line = reader.readLine();
String r1= "(.*共 <span class=\ "text_orange\ "> )(.*)( </span> 页.*) ";
Pattern s1=Pattern.compile(r1);
Matcher m1=s1.matcher(line);
boolean T1=m1.matches();
if(T1)
{
i=Integer.parseInt(m1.group(2)) ;
System.out.println( "--------总页数-------: "+i);//这儿输出I有值
}
}
return i;
}
}
为什么不返回值呢?我测试的时候好像根本就没有执行return i
------解决方案--------------------是不是有异常了,就不走return i了。
你把
异常捕获一下,不要抛出异常。
------解决方案--------------------E:\\jsp\\test.txt这个文件的第一行你跳过去了,没处理第一行;
------解决方案--------------------while(line!=null){
line = reader.readLine();
这里的
line = reader.readLine(); 应该放到while循环的最后面,否则你文件的第一行被跳过了。