import java.io.*;
public class testfilename{
public static void main(String[] args){
try{File myFile=new File("c:\\test");
myFile.createNewFile();
} catch(IOException e){
}
}} 
我的C盘第一级目录下有一个名为test的文件夹,这个程序编译可以通过,但执行之后却在C下找不到名为test的文件。不知道为什么,既然没创建文件,为什么它能通过编译?如果我把C\\test该为c:\\tes的话,程序可以编译而且执行后在C下会出现名为tes的没有后缀的文件。对于前一个问题请前解释一下,如果能对后面情况文件没有后缀名的现象说点什么就更好了。
java文件的创建中, String getPath() 
                   String getAbsolutePath()
                   这两个方法有什么不同?怎么解释相对路径和绝对路径?
                   对目录的操作的方法:
                   boolean mkdir()和boolean mkdirs()有什么不同?能不能举个例子看看这两个方法怎么用?

解决方案 »

  1.   

    createNewFile()函数本身是一个返回值为boolean的函数,它首先判断指定的文件是否存在,如果存在就不创建,并返回true,如果不存在才创建。
      

  2.   

    createNewFile():当且仅当不存在具有此抽象路径名指定的名称的文件时,原子地创建由此抽象路径名指定的一个新的空文件。检查文件是否存在,如果不存在则创建该文件,这是单个操作,对于其他所有可能影响该文件的文件系统活动来说,该操作是原子的。 
    楼主,当你c:\下没有test文件时,才创建一个空的文件!空的文件后面没有后缀!
    import java.io.*;
    public class Testfilename{
    public static void main(String[] args){
    try{
    File myFile=new File("c:\\test");
    if(myFile.createNewFile())
    System.out.println("createNewFile()执行了");
    else{
    System.out.println("createNewFile()未执行");
    }
    } catch(IOException e){
    }
    }
    当你c:\下没test文件时,楼主,你说这个程序输出结果是什么呢?
    判断指定的文件是否存在,如果存在就不创建,并返回true,如果不存在才创建!
    所以程序输出为“createNewFile()未执行”
      

  3.   

    String getPath() 
    String getAbsolutePath()例如 你执行的java文件在 c:/test/java 目录下
    然后你新建一个文件 File file = new File(“c:/test/tex/test.txt ”);//这个文件存在
    file.getPath() ==  /tex/test.txt;
    file.getAbsolutePath() == c:/test/tex/test.txt mkdir( )和mkdirs( ):mkdir( )方法创建了一个目录,创建成功返回true,创建失败返回false。创建失败是指File对象指定的目录已经存在,或者是因为整个路径不存在而不能创建目录。创建路径不存在的目录,用mkdirs( )的方法。它创建目录以及该目录所有的父目录。