黑马程序员技术交流社区

标题: 网页爬虫问题 [打印本页]

作者: 凝聚    时间: 2013-10-3 11:51
标题: 网页爬虫问题
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的形式行吗?


作者: Simple_love    时间: 2013-10-3 12:29

mail.txt数据文件如果放在该工程的目录下,这时可以使用相对路径,如果你要是把 mail.txt文件放在该工程的该程序包中这时可以用或者放在其他的地方,就只能由绝对路径, 我觉得资源文件一般的放在该工程该程序包中的一个子包合适
作者: 陈钦涛    时间: 2013-10-3 12:52
BufferedReader br=new BufferReader(new FileReader("mail.txt"))  这句里面的一个BufferedReader你写成BufferReader,少了“ed”,还有哦,这个文件没有导入import java.io.FileReader。mail.txt在测试的时候你可以放在MyEclipse的工程下,也可以放在其他目录下,然后用在构造函数中引用它的绝对路径。如果你是用命令行的话,FileReader构造函数可以接受相对目录,就是你在哪个目录调用JVM这个目录就是相对目录,此时,你如果把mail.txt放在非相对目录的话就要用它的那个绝对路径了。
作者: winsking    时间: 2013-10-3 13:11
new BufferReader错了  少了ed
路径一般用绝对路径,如果你这个文件放在classPath目录下,也可以直接用相对路径
作者: 陈钦涛    时间: 2013-10-3 13:29
想了想我觉还是更严谨点地说,mail.txt放在非相对路径下不仅可以用绝对路径,也是可以用相对路径去引用它的,例如.\java\mail.txt,在DOS命令行启动JVM,那个点表示你启动JVM的相对目录,在java文件中涉及到mail.txt,mail.txt放在当前目录中的java目录中,你可以以这种相对路径的写法去引用mail.txt。
作者: 乔兵    时间: 2013-10-3 18:06
问题解决后,请修改帖子分类为:提问结束




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2