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
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
解决方案 »
- 怎样实现倒计时开始/暂停/结束功能
- 接口和抽象类的区别还是不明白,谁能举例说明一下
- 请问 如何修改这个SimplePriorities类 使得定制的ThreadFactory可以设置线程的优先级。
- 如何在rcp 中实现多个工作台窗口 并且各个工作台窗口菜单栏和工具栏不同
- 大概要多久才能达到这样的境界呢?入门的水平
- 一道让我想不透的题目,向各位大大门求救
- 请教高手:一道scjp考试问题(关于垃圾收集)
- 建立文件路径(50分)
- 非法字符\92是咋回事?
- 如何连接别人机器上的MySQL?
- 谁用过 ofbiz 做过 checkbox的例子,会的请进
- 使用httpclient后,return不返回值,请大家帮忙看一下
你把异常捕获一下,不要抛出异常。
line = reader.readLine(); 这里的
line = reader.readLine(); 应该放到while循环的最后面,否则你文件的第一行被跳过了。
============================
好像,你怎么知道没走,去主调函数中接一下,看看有没有值,或者在return i 前面加上System.out.println("xxxxxxxxxxx");看看走没走这一步,有可能像一楼说的,抛了异常
====================================
除了io异常,这一句也可能抛异常
line = reader.readLine();这儿先改成
while(line = reader.readLine() != null){然后设置断点,单步执行程序调试一下,看看在输出i的值到返回之前,哪一步出现了问题。
问题解决.是因为
while(line!=null){
line = reader.readLine();正因为大家所说..这句造成第一句没有读到,也是这句报的异常..谢谢
小弟在这儿受教了!!!
我也想那样啊,可是我要的数据很多,我是用的http读完的再存txt里面,再读出来,你说的方法如果我可以实现那我就可以走很多弯路了,可是我不会呀,大哥
while((line=reader.readLine()) != null){
str += line;
}
String r1="(.*共 <span class=\"text_orange\">)(.*)(</span> 页.*)";
Pattern s1=Pattern.compile(r1);
Matcher m1=s1.matcher(str);
while(m1.matches()){
//在这处理所有匹配到的数据
}