public class File1 {
public static void main(String[] args) {
File d1=new File("E:/JavaCode/hello/");
System.out.println(d1+(d1.isDirectory()?" is ":" is not ")+" directory .");
}
}运行结果是   
E:\JavaCode\hello is not  directory .为什么啊?课本上是这样写的?该如何写?请教

解决方案 »

  1.   

    File d1=new File("E:/JavaCode/hello/");

    String str = d1.isDirectory() ? " is " : " is not ";

    System.out.println( d1 + str + " directory .");这么写吧,清楚点。
    第二句,三目运算符。意思是,d1如果是目录,则str=" is ",否则str=" is not "
      

  2.   

    创建目录是这样创建的
    File d1=new File("E:/JavaCode/hello");
    d1.mkdirs();
      

  3.   

      Java中目录也可以被看做是 File,所以可以用 File d1=new File("E:/JavaCode/hello/")创建,
     ?  : 是三目判断符,所以结果当然是目录啦
      

  4.   

    File d1=new File("E:/JavaCode/hello/");
    这句只是new了一个File实例在堆中
    d1.mkdirs();
    这个才是创建一个目录在硬盘中
    当然还有那个目录是否存在问题,如果存在就不创建了,不存在则创建