回 帖 发 新 帖 刷新版面

主题:[讨论]帮帮看看这个File类的程序!!

为什么目录“2”删不了??
import java.io.*;
class lianxi
{
    public static void main(String []args) throws Exception
    {
        File x=new File("2");
        x.mkdir();
        File y=new File("2"+File.separator+"2.txt");
        y.createNewFile();
        y.deleteOnExit();
        x.deleteOnExit();
        Thread.sleep(3000);
    }
}     

回复列表 (共2个回复)

沙发

deleteOnExit
public void deleteOnExit()在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。仅在虚拟机正常终止时,才会试图执行删除操作,这在 Java Language Specification 中已定义。 
一旦已经请求执行删除操作,就无法取消该请求。所以应小心使用此方法。 

delete
public boolean delete()删除此抽象路径名表示的文件或目录。如果此路径名表示一个目录,则此目录必须为空才能删除。 

返回:
当且仅当成功删除文件或目录时,返回 true;否则返回 false 

尝试了delete方法,能删除

板凳

确实有些奇怪。
不过如1楼所说,用delete()确实能将文件和文件夹都删除。

我来回复

您尚未登录,请登录后再回复。点此登录或注册