为什么执行File对象的canExecute方法,总是为true呢?除非路径写错才会为false
import java.io.File;
import java.io.IOException;public class Test2 {
public static void main(String[] args) throws IOException {
File f = new File("c:/a");
f.mkdirs();
System.out.println(f.canExecute());
}
}

解决方案 »

  1.   

    先看看canExecute是什么含义
      

  2.   

    上面的结果为true,api如下“ 测试应用程序是否可以执行此抽象路径名表示的文件。”
      

  3.   

    windows 下的所有文件都有可执行权限。要测试这个功能只能用 linux、unix
      

  4.   

    f.canExecute() 判断是否有执行权限
      

  5.   

    public boolean mkdirs()//创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
    注意,此操作失败时也可能已经成功地创建了一部分必需的父目录。 
    返回:当且仅当已创建目录以及所有必需的父目录时,返回 true;否则返回 false public boolean canExecute()//测试应用程序是否可以执行此抽象路径名表示的文件。
    返回:当且仅当抽象路径名存在且 允许应用程序执行文件时返回 true
    即当路径存在,而且,应用程序可执行.楼主先看下你单独创建文件的时候,文件能否执行?估计是默认创建文件可执行.其他方法.