import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.nio.charset.Charset;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import junit.framework.TestCase;
/*import org.apache.oro.text.regex.MatchResult;
import org.apache.oro.text.regex.PatternCompiler;
import org.apache.oro.text.regex.PatternMatcher;
import org.apache.oro.text.regex.PatternMatcherInput;
import org.apache.oro.text.regex.Perl5Compiler;
import org.apache.oro.text.regex.Perl5Matcher;*/
public class TestCenter
{
static File sourceFile = new File("E://JavaProjects//WZCRM_V10//WebRoot");
static int i = 0;
static BufferedWriter writer = null;
TestCenter(String fileName)
{
try
{
File file = new File("D://crm//" + fileName);
if (!file.exists()) file.createNewFile();
writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), Charset.forName("utf-8")));
}
catch (IOException e)
{
e.printStackTrace();
}
}
public static void main(String[] args)
{
try
{
File[] arr = sourceFile.listFiles();
for (int i = 0; i < arr.length; i++)
{
//arr[i] = new File("E://JavaProjects//WZCRM_V10//WebRoot//sales//quotation_audit.jsp");
String fileName = arr[i].getName();
if(null==arr[i] || !arr[i].isFile()) continue;
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(arr[i]), Charset.forName("utf-8")));
String str = null;
String res = null;
TestCenter t = new TestCenter(fileName);
while (null != (str = reader.readLine()))
{
res = parse(str, fileName);
System.out.println(res);
t.export(writer, res);
}
writer.flush();
writer.close();
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
private static String parse(String line, String fileName)
{
// String
// patternStrs="(<//s*a//s+(?:[^//s>]//s*){0,})href//s*=//s*(/"|'|)([^//2//s>]*)//2((?://s*[^//s>]){0,}//s*>)";
// String patternStrs = "<[^<|^>|^%^!]*>";
String idName = fileName.substring(0, fileName.indexOf("."));
String patternStrs = "[^/"]*<[^<|^>|^%|^/]+(>//s*[[//w][^<|^>|^%|^;|^/"]]+//s*<)/";
String pattern = "id=([/"|']{1}(//w+)[/"|']{1})";
Pattern idp = Pattern.compile(pattern, Pattern.CASE_INSENSITIVE);
Pattern htmp = Pattern.compile(patternStrs);
Matcher m1 = htmp.matcher(line);
Matcher m2 = null;
while (m1.find())
{
String group = m1.group();
if (group.replaceAll("//s", "").equals("></")) break;
m2 = idp.matcher(group);
if (!m2.find())
{
line = line.replaceFirst(m1.group(1), " id=/"" + idName + (i++) + "/" " + m1.group(1));
}
}
return line;
}
private void export(BufferedWriter w, String line)
{
try
{
w.write(line);
w.write("/r/n");
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}