[IT科技] 为何new File()没有创建文件呢?

发表于 @ 2009-6-8 18:00:26

File f1= new File("D:\\3000.txt");
File f2= new File("D:\\2000");
System.out.println(f1.exists());
System.out.println(f2.exists());

结果是false,false
D盘里面也没有任何新文件和新目录出现,请问这到底是怎么回事?

回答:
File file = new File("D:/test.txt");
file.createNewFile();


File f1= new File("D:\\3000.txt");
只是声明了一个文件对象,并没有对文件进行任何操作。
如果你读取,或者写入,才会真正的进行磁盘或者网络的IO操作。
我们看看File的源代码
  public File(String pathname) {
    if (pathname == null) {
      throw new NullPointerException();
    }
    this.path = fs.normalize(pathname);
    this.prefixLength = fs.prefixLength(this.path);
  }

看到了,他只是做了很简单的文件名的处理而已。


Copyright © 2009 老紫竹
网站地图 | 最新文章 | 未读文章 | 24小时内热点文章 |津ICP备09000085号