A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 凝聚 中级黑马   /  2013-10-3 11:51  /  1585 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package twentyfive;
import java.io.BufferedReader;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class eight {

        public static void main(String[] args) {
                mailsss();

        }
public static void mailsss()throws Exception
{
BufferedReader br=new BufferReader(new FileReader("mail.txt"))        ;
String line=null;
String mailreg="\\w+@\\W+(\\.\\W+)+";
Pattern p=Pattern.compile(mailreg);
while((line=br.readLine())!=null)
{
Matcher m=p.matcher(line)        ;
while(m.find())
{
        System.out.println(m.group());
}
}
}
}
BufferedReader br=new BufferReader(new FileReader("mail.txt"))        ;这句话有错误请问该怎么解决,还有mail.txt数据源应放在哪里,这个数据源照着
相关 数据抄一份写成.txt的形式行吗?

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

5 个回复

倒序浏览

mail.txt数据文件如果放在该工程的目录下,这时可以使用相对路径,如果你要是把 mail.txt文件放在该工程的该程序包中这时可以用或者放在其他的地方,就只能由绝对路径, 我觉得资源文件一般的放在该工程该程序包中的一个子包合适

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
BufferedReader br=new BufferReader(new FileReader("mail.txt"))  这句里面的一个BufferedReader你写成BufferReader,少了“ed”,还有哦,这个文件没有导入import java.io.FileReader。mail.txt在测试的时候你可以放在MyEclipse的工程下,也可以放在其他目录下,然后用在构造函数中引用它的绝对路径。如果你是用命令行的话,FileReader构造函数可以接受相对目录,就是你在哪个目录调用JVM这个目录就是相对目录,此时,你如果把mail.txt放在非相对目录的话就要用它的那个绝对路径了。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
new BufferReader错了  少了ed
路径一般用绝对路径,如果你这个文件放在classPath目录下,也可以直接用相对路径

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
想了想我觉还是更严谨点地说,mail.txt放在非相对路径下不仅可以用绝对路径,也是可以用相对路径去引用它的,例如.\java\mail.txt,在DOS命令行启动JVM,那个点表示你启动JVM的相对目录,在java文件中涉及到mail.txt,mail.txt放在当前目录中的java目录中,你可以以这种相对路径的写法去引用mail.txt。

评分

参与人数 1黑马币 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
问题解决后,请修改帖子分类为:提问结束
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马