顶一下,我也一直有个类似的问题想要了解。我的理解是这样的(不知对不对):
因为 java是编译成中间的.class文件,再由虚拟机加载.class文件进行解释执行的,并不生成和保存直接Exe,也就是说在当前的Class文件执行的时候,RunTime只关心我现在正在解释并执行一个段程序,并不关心心这个程序来自哪个文件。所以 main()方法的args[]参数中并未包含当前程序的文件名(在C中arg[0]的内容是当前exe的文件名)。所以也就无法判断要删除的文件是否跟当前执行的.class文件是否在同一个目录了