今天和奇遇纠结这个问题,然后就用php写了下试试看。
先写个php,生成一个java文件
<?php
$count = 100;
$class = 'A';
$code = '';
for ($i = 0; $i < $count / 2; $i++) {
$code .= "public class $class {\n";
$class++;
}
$class = 'a';
for ($i = 0; $i < $count / 2; $i++) {
$code .= "public class $class {\n";
$class++;
}
for ($i = 0; $i < $count; $i++) {
$code .= "}\n";
}
$code .= "// v";
$code .= "im: nofen:";
file_put_contents('A.java', $code);
然后javac
之。
当到_101_层的时候就悲剧了(最后一层手动加)。
后来想到可以用_
或者$
做类名,然后试了一下,果然可以。
然后把$
和_
都加上,就又悲剧了。
看来最多只能_100_层了。
大家也许发现我一直在纠结如何让类名都尽量短。
现在可以公布答案了。
层数太多导致的悲剧是。。。文件名太长
_101_层成功的case,文件名长度是53*2+48*3-1+6=255
,刚好是linux文件名长度上限,windows号称全路径支持_260_字符,但我在一个根目录下试验_102_层(_100_层加上$
和_
)悲剧了。
看来就只能到这了。
想请问文件名长度计算中的数值分别代表什么呢?