A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 青出于蓝 中级黑马   /  2013-12-23 15:13  /  852 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

各位大神:
根据视频讲解创建一个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();
                }
    }

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

2 个回复

倒序浏览
应该与记事本定位有关,作为一个轻量级的文本编辑器,打开时是直接磁盘上的文件都放到内存中,
此时已经关闭文件handle(磁盘文件已经不被占用),自然可以对磁盘上的文件进行删除操作。

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

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

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

学习了,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马