当前位置: 代码迷 >> Java Web开发 >> 麻烦.大家帮忙看个高级JAVA_IO有关问题
  详细解决方案

麻烦.大家帮忙看个高级JAVA_IO有关问题

热度:7146   发布时间:2013-02-25 21:20:04.0
麻烦.大家帮忙看个高级JAVA_IO问题
目录结构如下:
  文件夹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));        }    }
  相关解决方案