您的位置:首页 > 编程语言 > Java开发

对一个HTML源码,用java正则提起其中的URL

2016-04-05 11:03 232 查看
下面把源码发出来,如果不对的地方,欢迎指出来,我去改过来

以后,我专门抽些时间,对这些文章,回头看看,哪些地方写错,就改过来!

/**

*

*/

package com.bj.csdn;



import java.io.BufferedInputStream;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.Reader;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

/**

* @author zy

* @date 2016年4月4日 下午2:25:18

*/

public class ReadURL {

public static void main(String[] args) throws IOException {

// 设置输入文本路径

readTheURL("f:\\1.txt");

}

/**

* @param string

* @throws IOException

*/

private static void readTheURL(String path) throws IOException {

// TODO Auto-generated method stub

// 输入流

BufferedReader br = new BufferedReader(new FileReader(path));

/**

* String和StringBuffer他们都可以存储和操作字符串,即包含多个字符的字符串数据。

* String类是字符串常量,是不可更改的常量。而StringBuffer是字符串变量,它的对象是可以扩充和修改的。

*/

StringBuffer sb = new StringBuffer();

String line = null;

while ((line = br.readLine()) != null) {

// 读入内存

sb.append(line);

}

// 匹配RUL正则

Pattern p = Pattern.compile("http://www.91daoqi.com/city/[a-z]{2}/information.php\\?id=\\d{3}");

Matcher m = p.matcher(sb);

// 设置输出文本路径和文本名

File file = new File("f:\\d.txt");

//如果文件不存在,就创建一个文件

if (!file.exists()) {

file.mkdirs();

}

byte[] bt = new byte[1024];

// File file = new File("d:\\array.txt"); //存放数组数据的文件

FileWriter out = new FileWriter(file); //文件写入流

while (m.find()) {

//bt = m.group().getBytes();

out.write(m.group());

}

// 关闭流,释放资源

br.close();

out.close();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: