java TXT空行解决

以下是我读取一个TXT文件中'S'开头的单词,但我现在遇到是这个TXT文件中一但有空行程序就结束了!因为我用BufferedReaderbr=newBufferedRea... 以下是我读取一个TXT文件中'S'开头的单词,但我现在遇到是这个TXT文件中一但有空行程序就结束了!因为我用BufferedReader br = new BufferedReader(fr);去逐行读取了!怎么才能解决呢?
String fname = "c:\\1.txt";
File f = new File(fname);
try {
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String s = br.readLine();
//Pattern p = Pattern.compile("\\W(S.*?)([0-9])\\W");
Pattern p = Pattern.compile("\\W(S.([0-9])*?)\\W");
Matcher m = p.matcher(s);
while (s!=null){
while (m.find()) {
System.out.println(m.group(1));
//System.out.println(s);
//m.find()!=true;
db2NameString=m.group(1).substring(1, 8);
db2Name=Integer.parseInt(m.group(1).substring(1, 8));

} s= br.readLine();
}

br.close();// 关闭缓冲读入流及文件读入流的连接.

} catch (FileNotFoundException e1) {
System.err.println("File not found: " + fname);
} catch (IOException e2) {
e2.printStackTrace();
}
展开
 我来答
w1985g
2011-06-25 · TA获得超过1633个赞
知道小有建树答主
回答量:1190
采纳率:100%
帮助的人:1058万
展开全部
String fname = "c:\\1.txt";
File f = new File(fname);
try {
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
while (br.ready()) {
String s = br.readLine();
Pattern p = Pattern.compile("\\W(S.([0-9])*?)\\W");
Matcher m = p.matcher(s);
// System.out.println(s);
while (m.find()) {
System.out.println(m.group(1));
// System.out.println(s);
// m.find()!=true;
db2NameString=m.group(1).substring(1, 8);
db2Name=Integer.parseInt(m.group(1).substring(1, 8));

}
}

br.close();// 关闭缓冲读入流及文件读入流的连接.

} catch (FileNotFoundException e1) {
System.err.println("File not found: " + fname);
} catch (IOException e2) {
e2.printStackTrace();
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式