一个通过命令行读取参数的例子

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()
       + ",条件不匹配  ----------------");
    }

   }
  }
 }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值