File类public boolean delete()方法用于删除此File对象表示的文件或目录。如果此File对象表示一个目录,则该目录必须为空才能删除。因此,当需要删除一个包含子目录或文件的目录时,直接调用File的delete方法无法将该目录删除,需要将该目录下的所有文件删除,然后才能删除一个空的文件夹。显然,这又需要递归算法解决。
【例10-6】
删除指定目录。
测试用例如图10-7所示。
图10-7 删除指定目录
(1)程序第5行和第6行都是指定当前项目下bin目录。
(2)递归调用的过程和遍历一个目录下所有文件类似,如果File对象是目录则递归调用,如果是文件则删除。(www.xing528.com)
(3)程序第24行表示删除完一个文件夹里所有文件,便可以删除该外层文件夹。从里层到外层递归删除各个文件夹。
(4)注意,通过Java删除的目录不通过回收站,要格外小心,不要误删写的源文件,删错了就无法恢复。本例删除的是当前项目的bin文件夹,里面保存的都是编译后的.class文件。程序运行后,当前项目下的bin被删除了。
(5)为了能重新运行该项目,需要在Eclipse中将项目重新编译。方法如下:点击Eclipse菜单栏上【Project】菜单,选择【Clean】项目,该项目的功能是清理编译程序,可以将该项目下编译生成的.class文件清理掉,并重新对该项目下的.java文件进行编译。在弹出的对话框中,选中需要清理的项目或选中清理所有的项目,如图10-8所示。
图10-8 选中需要清理的项目
确认需要清理的工程后,点击【OK】按钮即对选中的项目进行清理。清理完成后,Eclipse会自动对该项目进行自动编译,.class字节码文件将重新生成。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。