世界因你而精彩___vv

要么忙着生存,要么赶着去死!人总是要做点什么的!

 

过滤页面中没有用到的图片

package com.cn.test;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public final class CheckPic{

   private static String REGEX;

   private static String INPUT;

   private static Pattern pattern;

   private static Matcher matcher;
  
   private static List PicList = new ArrayList(); 
  
   private static List UsedList  = new ArrayList();
 
   public static void main(String[] args) { 
   REGEX="[a-z0-9A-Z.?_]*.(jpg|jpeg|gif|png)";
   pattern = Pattern.compile(REGEX);
   
   initTxt();//初始化存放页面的文件;
   System.out.println("页面中出现的pic++++++++++++++++++++++++++++++++++++++++++++++++++");
   Iterator  it = PicList.iterator();
   while(it.hasNext()){
    System.out.println(it.next().toString());
   }
   
   File  filenew  =  new File("pic");
   checkused(filenew);//过滤掉没有用到的图片
   System.out.println("过滤后有用的pic**************************************************");
   Iterator  itr =UsedList.iterator();
   while(itr.hasNext())
    System.out.println(itr.next().toString());
   }
   /* all.txt文件里存放着所有的页面文件 如(.JSP  .HTM 等)all.txt可以作为一个参数传进来
     *  对all.txt文件进行出始化
    * */
   private static void initTxt(){
  BufferedReader  brr=null;
  
     try {
      brr = new BufferedReader(new FileReader("all.txt"));
      } catch (FileNotFoundException fnfe) {
        System.out.println("Cannot locate input file1! " + fnfe.getMessage());
        System.exit(0);
      }
      try {
        INPUT = brr.readLine(); //读入一行(每行存放的是一个页面文件 例如List.jsp ...)
        while(INPUT!=null){
        initResources(INPUT);
        INPUT = brr.readLine();
        }
        brr.close();
      } catch (IOException ioe) {
      }
   } 
   /*读入每个页面文件的内容
    *
    */
   private static void initResources(String txtname) {
    BufferedReader br =  null ;
   
    try {
       br = new BufferedReader(new FileReader(txtname));
    } catch (FileNotFoundException fnfe) {
       System.out.println("Cannot locate input file2! " + fnfe.getMessage()); //判断此文件是否存在
       System.exit(0);
     }
     try {
       INPUT = br.readLine();//读入.jsp文件中的每一行
       while(INPUT!=null){
        processTest(INPUT);//对此行进行分析看有没有用到图片
        INPUT =br.readLine();
       }
       br.close();
     } catch (IOException ioe) {
     }
   }
   /*检查页面中用到的图片,并把用到的图片存放在PicList里面(并且消除掉重复使用的图片)
   */
   private static void processTest(String Input) {
     matcher = pattern.matcher(Input);
    
     while (matcher.find()) {
        System.out.println("I found the text \"" + matcher.group()
         + "\" starting at index " + matcher.start()
         + " and ending at index " + matcher.end() + "."); //图片出现的位置
        if(!PicList.contains(matcher.group())){
         PicList.add(matcher.group());//判断此图片是否重复使用,如果第一次用该图片就存放在PicList中
        }  
        else
         {
         System.out.println("此图片已经存在");
         }
     }
   }
   /*判断图片库所在的文件夹里的图片有那些是页面中用到的,有那些是没有用到的
    * 并且把用到的顾虑出来放在UsedList里面
    *
    */
   private static void checkused(File file){
    if   (file.isFile())     //如果是一个文件则返回!  
             return;  
       else{   
     System.out.println("PIC库里的所有pic如下#######################################");
        for(int i=0;i<file.list().length;i++){ 
           System.out.println(file.list()[i]);
           if(PicList.contains(file.list()[i])){
            UsedList.add(file.list()[i]);
           }
        }
       }
   }
}  


 



要么忙着生存,要么赶着去死!人总是要做点什么的!

posted on 2008-02-15 16:32 vv 阅读(286) 评论(1)  编辑  收藏 所属分类: java

评论

# re: 过滤页面中没有用到的图片[未登录] 2008-04-08 21:59 Eleven

在非洲,瞪羚每天早上醒来时,他知道自己必须跑的比最快的狮子还快,否则就会被吃掉.狮子每天早上醒来时,他知道自己必须追上跑得最慢的瞪羚,否则就会被饿死.不管你是狮子还是瞪羚,当太阳升起时,你最好开始奔跑  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 

导航

统计

常用链接

留言簿(2)

随笔分类(4)

随笔档案(7)

文章分类(10)

文章档案(11)

相册

最新随笔

搜索

最新评论

  • 1. re: 过滤页面中没有用到的图片[未登录]
  • 在非洲,瞪羚每天早上醒来时,他知道自己必须跑的比最快的狮子还快,否则就会被吃掉.狮子每天早上醒来时,他知道自己必须追上跑得最慢的瞪羚,否则就会被饿死.不管你是狮子还是瞪羚,当太阳升起时,你最好开始奔跑
  • --Eleven

阅读排行榜

评论排行榜