package com.yu.util.delhead;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 删除文件的每行开头匹配到的字符串
*
* @author yu jian
* @version 1.0
* @date 2009/06/06
**/
public class DelLineHead {
public static void main(String[] args) {
// 要处理的文件名
String tmp = "c://test.txt";
BufferedReader reader = null;
try {
String[] regexs = new String[] { "^//s*//d*//s*//." ,"^//s*//#"};
Pattern[] ps = new Pattern[regexs.length];
int i =0;
for (String regex : regexs) {
ps[i++] = Pattern.compile(regex, Pattern.DOTALL);
}
String tempString = null;
reader = new BufferedReader(new FileReader(tmp));
while ((tempString = reader.readLine()) != null) {
boolean b = false;
for (Pattern p : ps) {
Matcher m = p.matcher(tempString);
// 删除匹配到的字符串
String s = m.replaceAll("");
if(!s.equals(tempString)){
System.out.println(s);
b = true;
}
if(m.find()){
b = true;
}
}
if(!b){//未找到匹配的行
System.out.println(tempString);
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
reader.close();
} catch (IOException e) {
}
}
}
}