黑马程序员技术交流社区

标题: 操作文件删除问题 [打印本页]

作者: 青出于蓝    时间: 2013-12-23 15:13
标题: 操作文件删除问题
各位大神:
根据视频讲解创建一个txt文件后,我人为打开,然后调用文件的delete()方法,把文件删除了,按视频的讲解应该是不能删除的。但是我创建一个.doc文件后进行同样的操作,文件删除不掉,和视频讲解的一致,我用的是windows7,是和系统有关么,求解?
public static void method_1(){
            File f=new File("f:\\"+File.separator+"day20"+File.separator+"file.txt");
            File f1=new File("f:\\"+File.separator+"day20"+File.separator+"file.doc");
            try {
                    System.out.println("createNewFile:   "+f.createNewFile());
                    System.out.println("delete:   "+f.delete());
                   
                    System.out.println("createNewFile:   "+f1.createNewFile());
                    System.out.println("delete:   "+f1.delete());
                } catch (IOException e) {
                        e.printStackTrace();
                }
    }
作者: 为我想要的去努    时间: 2013-12-23 15:15
应该与记事本定位有关,作为一个轻量级的文本编辑器,打开时是直接磁盘上的文件都放到内存中,
此时已经关闭文件handle(磁盘文件已经不被占用),自然可以对磁盘上的文件进行删除操作。

而你创建的.doc文件打开的时候用的是word或wps,这是以个重量级的编辑器,打开时可能文件太大不会将文件全部放到内存中,所以不能对磁盘上的文件进行删除操作。


作者: 青出于蓝    时间: 2013-12-23 16:16
为我想要的去努 发表于 2013-12-23 15:15
应该与记事本定位有关,作为一个轻量级的文本编辑器,打开时是直接磁盘上的文件都放到内存中,
此时已经关 ...

学习了,谢谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2