任何用于格式化包含Java代码的文件的库?

时间:2015-10-08 14:54:32

标签: java formatter

我有一些外部生成的java类,我正在寻找一种根据基本Java格式化器格式化它们的方法。 我无法在Eclipse等任何IDE中格式化它们,因为这个模块将成为CLI工具的一部分。

我的用例是:

  • 阅读java文件的内容
  • 将其传递给图书馆
  • 取回格式化的内容

库应该主要缩进代码,但理想情况下应该允许定义我自己的格式化程序,例如使用4个空格缩进,定义最大行长度等。

示例输入:

package com.external.files;

public class Student {
private int number;
private String name;

public int getNumber() {
return this.number;
}

public void setNumber(int number) {
this.number = number;
}

public String getName() {
return this.name;}

public void setName(String name) {
this.name = name;
}
}

示例输出:

package com.external.files;

public class Student {
    private int number;
    private String name;

    public int getNumber() {
        return this.number;
    }

    public void setNumber(int number) {
        this.number = number;
    }

    public String getName() {
        return this.name;}

    public void setName(String name) {
        this.name = name;
    }
}

非常感谢! 安德烈

3 个答案:

答案 0 :(得分:1)

也许你可以使用JDT Code Formatter,这是eclipse使用的

http://help.eclipse.org/mars/topic/org.eclipse.jdt.doc.isv/guide/jdt_api_codeformatter.htm

答案 1 :(得分:1)

如果安装了Eclipse,似乎很容易从命令行运行其格式化程序:

eclipse -vm <path to virtual machine> -application org.eclipse.jdt.core.JavaCodeFormatter [ OPTIONS ] <files>

请参阅http://help.eclipse.org/mars/topic/org.eclipse.jdt.doc.user/tasks/tasks-231.htm

答案 2 :(得分:0)

Jalopy似乎很好地完成了这项工作。我将深入挖掘并查看其格式规则是否可以自定义。