使用AStyle工具格式化java程序

54powerman
http://54powerman.blog.sohu.com
有时我们会在网上下载或者复制一些java程序,他们的格式混乱,无法阅读,有些IDE软件可以对代码进行格式化,如Jbuilder,但是这些程序启动非常慢,运行起来更慢的不得了,难道为了看一下代码也要启动IDE来处理?
有一个小工具--AStyle可以对混乱的代码进行美化。另外,由于不同的IDE对代码处理的格式也不相同,使用该工具同样可以使代码适合你的阅读习惯。
顺便说一句,该工具支持C/C++/C#/Java语言,这里只描述java。
1 下载AStyle
Artistic Style--当前版本是v1.20.2,官方下载地址:http://sourceforge.net/projects/astyle/

2 语法
Usage  :  astyle [options] Source1.cpp Source2.cpp  [...]
          astyle [options] < Original > Beautified
本文不是说明书,不详细介绍使用方法,运行astyle -h查看详细的说明。这里只介绍常用的功能。

3 常用功能
(1) 单个文件--缺省美化
astyle --style=java Test.java
处理前的代码:
public class Test
{
  public static void main(String[] args) {                     System.out.println("Test out.");
System.out.println(new java.util.Date());
 int a=1;  }
}
处理后:
public class Test
{
    public static void main(String[] args) {
        System.out.println("Test out.");
        System.out.println(new java.util.Date());
        int a=1;
    }
}

(2) 单个文件--更改缩进2个空格
astyle --style=java --indent=spaces=2 Test.java
缺省缩进一个TAB,也可以显式说明使用Tab,如下:
astyle --style=java --indent=tab Test.java

(3) 处理多个文件--有限个
astyle --style=java Test.java T.java

(4) 批量处理多个文件--无限个
for /R ./ %f in (*.java) do astyle --style=java "%f"
说明:/R表明遍历一个目录树,后面紧跟的路径是根,缺省为当前目录。
本例中,根为./表示当前目录,命令等价于:
for /R %f in (*.java) do astyle --style=java "%f"
作用是从(目录树根)当前目录开始,查找所有java文件,包含子目录中的文件;然后交给astyle处理。
当然,目录树根也可以使用绝对路径,下面的命令查找C盘所有的java文件并处理。
for /R c:/ %f in (*.java) do astyle --style=java "%f"

4 其他比较有用的开关:
(1) -f
在两行不相关的代码之间插入空行,如import和public class之间、public class和成员之间等;
(2) -p
在操作符两边插入空格,如=、+、-等。
如:int a=10*60;
处理后变成int a = 10 * 60;
(3) -P
在括号两边插入空格。另,-d只在括号外面插入空格,-D只在里面插入。
如:System.out.println(1);
处理后变成System.out.println( 1 );
(4) -U
移除括号两边不必要的空格。
如:System.out.println( 1 );
处理后变成System.out.println(1);
(5) -V
将Tab替换为空格。 

上一篇:Java 项目UML反向工程转化工具


下一篇:MySQL必知必会面试题(二)