目录结构如下:
文件夹1
1
2
.
.
.
文件夹2
1.txt
2.txt
.
.
.
现在有如下HTML代码:
<a href="javascript:if(confirm('http://music.qq.com/ \n\n该文件无法用 Teleport Ultra 下载, 因为 它是一个域或路径外部被设置为它的启始地址的地址。 \n\n你想在服务器上打开它?'))window.location='http://music.qq.com/'" tppabs="http://music.qq.com/" class="">QQ音乐</a>
想实现的效果是:
1.首先操作文件夹1下面的所有html页面
2.使用JAVA_IO遍历html文件里面所有的<a>标签
3.把遍历到的<a>标签中的tppabs属性(href下的网址也可以)下面的网址和<a>标签之间的文本取出
4.把取出的网址和文本再以:文本+"*"+URL的格式写入到*.txt中
自己半天没弄明白希望高手帮忙写一下代码.要有注释哦..顺便想学习一下..^_^
------解决方案--------------------------------------------------------
可以用正则表达式统统秒杀
------解决方案--------------------------------------------------------
- Java code
// String u="http://music.qq.com";// URL url=new URL(u);// URLConnection con=url.openConnection();// InputStream is=con.getInputStream();// OutputStream os=new FileOutputStream(new File("D:\\test\\aa"));// int len=0;// byte[] buffer=new byte[1024];// while ((len=(is.read(buffer)))!=-1) {// os.write(buffer, 0, len);// }// os.close();// is.close();//*********************************************************************************************************// String regex="<a[^>]*href=\"([^\"]*)\"[^>]*>(.*?)<\\/a>"; String hrefRegex="href=['\"]?(.*?)['\" ]\""; StringBuilder sb=new StringBuilder(); Map<String, String> map=new HashMap<String, String>(); String href=""; String text=""; String matchedText=""; Pattern pattern=Pattern.compile(hrefRegex); File file=new File("D:\\test\\aa"); InputStream is=new FileInputStream(file); BufferedReader reader=new BufferedReader(new InputStreamReader(is, "GBK")); while (reader.read()!=-1) { sb.append(reader.readLine()); } Matcher matcher=pattern.matcher(sb); while (matcher.find()) { System.out.println(matcher.group(1)); } }