java文件的大小是否有限制?

时间:2012-10-05 15:20:13

标签: java file-io filesize

我正在开发一个项目,我需要生成java代码。当我遇到主方法上65535字节限制的问题时,我正在做一些测试。我生成的文件看起来像这样:

public class foo{
    public static void main(String[] args){
        //
        //7000 lines later
        //
    }
}

我认为通过这种方式生成文件我很聪明:

public class foo{
    public static void bar(){
        //
        //7000 lines later
        //
    }
    public static void main(String[] args){
        bar();
    }
}

但我发现65535字节限制适用于每种方法。

我想知道多种方法的'缓冲'指令是否能解决我的问题。对java文件的大小有什么限制吗?

4 个答案:

答案 0 :(得分:9)

文件可以是任何大小,但是方法的编译长度不能超过65535字节。

解决这个问题的唯一方法是

  • 使用较小的方法,这种大方法是不可读的。
  • 如果生成代码,则创建多个方法。
  • 将信息外部化为数据文件或数据库。

答案 1 :(得分:2)

答案 2 :(得分:1)

It's a known bug/feature request (official Java bug tracker)

尽管如此,你应该把它分成不同的方法。

答案 3 :(得分:1)

我认为存在限制并且您已达到限制 - 正如here所述。

另外,请看一下这个discussion