package ren;
import java.io.File;
import java.util.Scanner;
public class rename
{
/**
* @param args
*/
public static void main(String... args)
{
Scanner scanner = new Scanner(System.in);
String line = null;
String[] paras = null;
A tool = new A();
System.out.println("Program's Started:");
while (true)
{
line = scanner.nextLine().trim();
if (line.equals("q") || line.equals("exit"))
{
break;
}
String r = tool.toParas(line);
System.out.println(r);
paras = r.split(", ",4);
tool.ren(paras);
}
}
}
class A
{
StringBuilder sbr;
String toParas(String line)
{
if (sbr == null)
{
sbr = new StringBuilder();
}
String para = line.trim();
String result = null;
if (para.matches("[/"/'].*"))
{
int next = para.indexOf(para.charAt(0), 1);
if (next == para.length() - 1)
{
result = sbr.append(para.substring(1, next)).toString();
sbr = null;
return result;
}
sbr.append(para.substring(1, next)).append(", ");
return toParas(para.substring(next + 1));
}
String[] paras = para.split(" +", 2);
if (paras.length == 1)
{
result = sbr.append(paras[0]).toString();
sbr = null;
return result;
}
sbr.append(paras[0]).append(", ");
return toParas(paras[1]);
}
int statistic(String line)
{
return line.replaceAll("[^/"]", "").length();
}
/**
*
* @param path paras[0]
* @param isReplaced paras[1]
* @param replaceMent paras[2]
* @param suffix paras[3]
*/
void ren(String... paras)
{
File[] files = new File(paras[0]).listFiles();
for (File file : files)
{
if (file.isFile())
{
String des = file.getName().replaceAll(paras[1], paras[2]);
if (!file.getName().equals(des))
{
if(paras.length == 4 && (paras[3] != null || paras[3].length() != 0)) {
des = des.replaceAll("$", paras[3]);
}
if (file.renameTo(new File(paras[0] + "/" + des)))
{
System.out.println("---------------- "
+ "success ----------------");
continue;
} else
{
System.out.println("---------------- " + file.getName()
+ " failed ----------------");
}
}
else
{
System.out.println("---------------- " + file.getName()
+ ",条件不匹配 ----------------");
}
}
}
}
}