/* 
* Created on 2004-10-1 
*/ 
import java.util.regex.*; 
import java.io.*; 
/** 
* @author dancefire 
*/ 
public class DataFilter { 
    public static void main(String[] args) { 
        if(args.length < 2) 
        { 
            System.err.println("Please enter 2 filenames(e.g. In.txt Out.txt)"); 
            return; 
        } 
        String strIn = null, strOut = null; 
         
        //    Get string from a file 
        strIn = readFile(args[0]); 
        //    Process 
        strOut = filter(strIn); 
        //    Store Result into a file 
        writeFile(args[1], strOut); 
         
    } 
    private static void writeFile(String filename, String data) 
    { 
        BufferedWriter wr = null; 
        try{ 
            wr = new BufferedWriter( new FileWriter(filename)); 
            wr.write(data); 
        }catch( Exception e ) 
        { 
            e.printStackTrace(); 
        }finally{ 
            try{ 
                if( wr != null ) 
                    wr.close(); 
            }catch( Exception e ){ 
                e.printStackTrace(); 
            } 
        } 
        return; 
    } 
    private static String readFile(String filename) 
    { 
        String strRet = null; 
        BufferedReader rd = null; 
        try{ 
            rd = new BufferedReader( new FileReader(filename)); 
            String line = null; 
            StringBuffer sb = new StringBuffer(); 
            while( (line=rd.readLine()) != null ) 
            { 
                sb.append(line); 
            } 
            strRet = sb.toString();             
        }catch( Exception e ) 
        { 
            e.printStackTrace(); 
        }finally{ 
            try{ 
                if( rd != null ) 
                    rd.close(); 
            }catch( Exception e ){ 
                e.printStackTrace(); 
            } 
        } 
        return strRet; 
    } 
    private static String filter(String input) 
    { 
        Pattern p = Pattern.compile("\"(\\w+):(\\w+)%(\\w+)\""); 
        Matcher m = p.matcher(input); 
        StringBuffer sb = new StringBuffer(); 
        while(m.find()) 
        { 
            sb.append( m.group(1) + ":" + m.group(2) + "*" + m.group(3) + "," + System.getProperty("line.separator") ); 
        } 
        return sb.toString(); 
    } 
}