A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Alex shaw 中级黑马   /  2013-3-20 12:30  /  1558 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 肖路宽 于 2013-3-20 13:17 编辑

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

评分

参与人数 1技术分 +1 收起 理由
洪建超 + 1

查看全部评分

5 个回复

倒序浏览
我用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();
                 }
           }
    }

评分

参与人数 1技术分 +1 收起 理由
洪建超 + 1

查看全部评分

回复 使用道具 举报
File类是文件和目录路径名的抽象表示形式。

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

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

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

评分

参与人数 1技术分 +1 收起 理由
洪建超 + 1 恭喜25分

查看全部评分

回复 使用道具 举报
File file = new File("a.txt");

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

createNewFile方法,如下:

public boolean createNewFile() throws IOException;

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

评分

参与人数 1技术分 +1 收起 理由
洪建超 + 1 恭喜25分

查看全部评分

回复 使用道具 举报
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对象里的文件不存在就会出现空指针异常

评分

参与人数 1技术分 +1 收起 理由
洪建超 + 1

查看全部评分

回复 使用道具 举报
张亚青 发表于 2013-3-20 13:06
File类是文件和目录路径名的抽象表示形式。

一、对于:

奥 原来如此  明白了 谢啦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马