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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 何羡玉 于 2013-5-18 19:17 编辑

不管我的 File f=new File(”e:\\ADT-21.1.0.zip“);  ”  “里面随便填什么都会返回true ,我填了一个文件夹也返回true,填了一个.txt文件也返回true,这是什么情况????
package enhanceTest;

import java.io.*;

public class Demo11 {

        /**
         * @param args
         * @throws IOException
         */
        public static void main(String[] args) throws IOException {
                // TODO Auto-generated method stub
                File f=new File("e:\\ADT-21.1.0.zip");//随便填  下面都返回true   为什么???
                System.out.println(f.canExecute());
        File[] files=        f.listRoots();
        for(File file:files)
        {
                 System.out.println(file.getAbsolutePath());
        }

                Demo11 d=new Demo11();

        }

}

评分

参与人数 1技术分 +1 收起 理由
殇_心。 + 1

查看全部评分

3 个回复

倒序浏览
可执行的意思
回复 使用道具 举报
本帖最后由 王盟盟 于 2013-5-18 15:45 编辑

用来判断文件时否是可执行。
public boolean canExecute()测试应用程序是否可以执行此抽象路径名表示的文件。
返回: 当且仅当抽象路径名存在 允许应用程序执行文件时返回 true。 否则返回false。
抛出:SecurityException如果安全管理器存在且其SecurityManager.checkExec(java.lang.String)方法拒绝对文件进行执行访问。

评分

参与人数 1技术分 +1 收起 理由
殇_心。 + 1

查看全部评分

回复 使用道具 举报
这是JDK1.6里加入的方法,用来判断抽象路径名表示的文件是否能被应用程序执行。楼上的哥们已经给你解释得很清楚了。我觉得吧,这种问题应该自己多翻翻API文档,所得应该更多。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马