这是(以编程方式)创建java文件的正确方法吗?

这是(以编程方式)创建java文件的正确方法吗?,java,Java,下面是以编程方式创建java文件的代码 这条路对吗?或者还有别的办法吗 public static void main(String[] args) throws IOException { File atlas = new File("D:/WIP/pac/n/sample.txt"); if (!atlas.exists()) { System.out.println("File not exist"); }

下面是以编程方式创建java文件的代码

这条路对吗?或者还有别的办法吗

public static void main(String[] args) throws IOException {
        File atlas = new File("D:/WIP/pac/n/sample.txt");
        if (!atlas.exists()) {
            System.out.println("File not exist");
        }
        FileHandle mAtlasHandle = new FileHandle(atlas);
        BufferedReader reader = mAtlasHandle.reader(1024);
        String line = null;
        ArrayList<String> mArrayList = new ArrayList<String>();
        while ((line = reader.readLine()) != null) {
            mArrayList.add(line);
        }
        File file = new File("D:/WIP/pac/n/Sample.java");
        if (!file.exists()) {
            file.createNewFile();
        }
        String packageName = "package com.atom.lib;";
        PrintWriter writer = new PrintWriter(file);
        String mString = new String(file.getName());
        String name = mString.replaceFirst("[.][^.]+$", "");
        String output = Character.toUpperCase(name.charAt(0)) + name.substring(1);
        writer.println(packageName);
        writer.println("public class " + output);
        writer.println("{");
        for (String obj : mArrayList) {
            writer.println("public String  " + obj + "=\"" + obj + "\";");
        }
        writer.println("}");
        writer.close();
    }
publicstaticvoidmain(字符串[]args)引发IOException{
文件atlas=新文件(“D:/WIP/pac/n/sample.txt”);
如果(!atlas.exists()){
System.out.println(“文件不存在”);
}
FileHandle mAtlasHandle=新的FileHandle(atlas);
BufferedReader reader=mAtlasHandle.reader(1024);
字符串行=null;
ArrayList mArrayList=新建ArrayList();
而((line=reader.readLine())!=null){
婚姻列表。添加(行);
}
File File=新文件(“D:/WIP/pac/n/Sample.java”);
如果(!file.exists()){
createNewFile();
}
字符串packageName=“package com.atom.lib;”;
PrintWriter=新的PrintWriter(文件);
String mString=新字符串(file.getName());
字符串名称=mString.replaceFirst(“[.][^.]+$”,“”);
字符串输出=Character.toUpperCase(name.charAt(0))+name.substring(1);
writer.println(packageName);
writer.println(“公共类”+输出);
writer.println(“{”);
for(字符串对象:结婚名单){
println(“公共字符串”+obj+“=\”+obj+“\”;”;
}
writer.println(“}”);
writer.close();
}

是的,有更好的方法。用于以编程方式创建Java文件,而不是使用
println()
或字符串附加方法。从他们的网站:

CodeModel是用于代码生成器的Java库;它提供了一种比PrintStream.println()更好的生成Java程序的方法。该项目是JAXB RI的衍生产品,其模式编译器用于生成Java源文件

但是CodelModel的主要问题是文档很少。API文档是唯一的圣经,你可以有这个


如果您熟悉Eclipse插件开发,那么可以使用以编程方式创建Java文件。它甚至可以在没有Eclipse的情况下独立工作。

是的,有更好的方法。用于以编程方式创建Java文件,而不是使用
println()
或字符串附加方法。从他们的网站:

CodeModel是用于代码生成器的Java库;它提供了一种比PrintStream.println()更好的生成Java程序的方法。该项目是JAXB RI的衍生产品,其模式编译器用于生成Java源文件

但是CodelModel的主要问题是文档很少。API文档是唯一的圣经,你可以有这个

如果您熟悉Eclipse插件开发,那么可以使用以编程方式创建Java文件。它甚至可以在没有Eclipse的情况下独立工作。

我使用模板生成java源文件。这是一个非常强大的工具,它允许您定义源模板和模型,您可以在其中定义变量、方法和所有内容,并允许您编译为任何多种格式(txt、java等)

您可以首先为所需的java源文件定义带有占位符的模板,然后可以通过编程应用占位符的值

给定示例说明此API的工作原理,您可以扩展该示例以创建java源文件

我使用模板生成java源文件。这是一个非常强大的工具,它允许您定义源模板和模型,您可以在其中定义变量、方法和所有内容,并允许您编译为任何多种格式(txt、java等)

您可以首先为所需的java源文件定义带有占位符的模板,然后可以通过编程应用占位符的值

给定示例说明此API的工作原理,您可以扩展该示例以创建java源文件