读取本地文件的邮箱地址

首先获取源文件,然后利用正则匹配相关的数据,匹配到的数据用compile方法封装,
然后进行判断是否为空,然后用find方法去寻找匹配到的数据
找到后则用group方法返回到子序列,主程序利用getFile方法获取到数据
用增强for循环赋值给youxiang打印出来

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class GetEmail {

/**
 * @param args
 * @throws FileNotFoundException 
 * @throws IOException 
 */

解析第一步:创建list集合接受获取到的文件流数据,运用for循环将其打印。

public static void main(String[] args) {

	List<String> list = getFile();
	for(String youxiang : list){
		System.out.println(youxiang);
	}
}



解析第二步:创建BufferedReader流读取文件的数据,创建一个正则匹配获取

到的数据,匹配规则用\转义字符匹配字母为w的字符,然后用+号匹配一个或者
多个再创建字符组匹配任意字符,最后用+号匹配剩余数据。

public static List getFile() {

BufferedReader bufr = null;

	try {
		bufr = new BufferedReader(new FileReader("F:\\youxiang.txt"));
	} catch (FileNotFoundException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}	

String youxiang_regex = “\w+\w+(\.\w+)+”;

//创建List集合

List list = new ArrayList();

//使用Pattern封装正则匹配的邮箱地址
Pattern p = Pattern.compile(youxiang_regex);

//初始化变量value
String value = null;

//用while循环遍历,循环条件为value不为空时,读取数据
try {
while((line=bufr.readLine())!=null){

	//使用Matcher匹配器接受value值
			Matcher m = p.matcher(line);

//用while循环遍历m值,如果找到f,转换成group形式返回给list
while(m.find()){

				list.add(m.group());
			}

}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

	return list;
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值