黑马程序员技术交流社区

标题: 文件创建 [打印本页]

作者: Alex shaw    时间: 2013-3-20 12:30
标题: 文件创建
本帖最后由 肖路宽 于 2013-3-20 13:17 编辑

File file = new File("a.txt");
file.createNewFile();
这两句代码有什么不同File file = new File("a.txt");应该就是创建一个文件吧,那createNewFile有什么用

作者: 田磊阳    时间: 2013-3-20 12:57
我用createNewFile()创建一个abc.txt的文件,你对比一下看看


public class TestFile1 {
      public static void main(String[] args) {
          File f1 = new File("C:\\abc.txt");
             try {
                      f1.createNewFile();
                      System.out.println(f1.getName());
                       } catch (IOException e) {
                      e.printStackTrace();
                 }
           }
    }

作者: 张亚青    时间: 2013-3-20 13:06
File类是文件和目录路径名的抽象表示形式。

一、对于:
    File file = new File("a.txt");
这个语句只是通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
但是他并没有创建文件夹或者文件,或者说这个语句只是把“a.txt”转化为了file对象,使得file对象指向了当前目录下的【a.txt】文件,但是并不知道该文件是否存在。

二、对于:
    file.createNewFile();
则是当(且仅当)不存在具有file抽象路径名指定名称的文件时,才创建一个新的空文件,并且返回布尔值true,否则返回false。

三、鉴于以上两点,所以在创建了File的对象的时候,如果想要继续后续操作之前,一般都需要判断一下该文件是否存在:使用的是File类中的 boolean exists() 方法。

作者: 沉默de羔羊    时间: 2013-3-20 13:07
File file = new File("a.txt");

其实就是创建了一个File类的对象,代表一个具体的文件路径!(你这里使用的是相对路径)。

createNewFile方法,如下:

public boolean createNewFile() throws IOException;

该方法的作用是创建指定的文件。该方法只能用于创建文件,不能用于创建文件夹,且文件路径中包含的文件夹必须存在。


作者: 我手心里的宝    时间: 2013-3-20 13:08
File file = new File("a.txt");
这句话不会创建文件,只是创建一个file对象
public class FileDemo
{
        public static void main(String[] args){
                File file=new File("C:\\a.txt");
                System.out.println(file);
        }
}
在io流中可以传递一个file对象,如果file对象里的文件不存在就会出现空指针异常

作者: Alex shaw    时间: 2013-3-20 13:10
张亚青 发表于 2013-3-20 13:06
File类是文件和目录路径名的抽象表示形式。

一、对于:

奥 原来如此  明白了 谢啦




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2