file.createNewFile()有实际意义吗?

通常可以用下面方法创建文件

File file = new File("test.txt");
if(!file.exists()){
        file.createNewFile();
}

可是在使用输出流的时候可以自动创建

try {
            File file = new File("test.txt");
            FileOutputStream fos = new FileOutputStream(file);
} catch (FileNotFoundException e) {
            e.printStackTrace();
}

这样的话file.createNewFile();还有什么意义呢?写文件的话,流可以自己创建文件;读文件创建个空文件也没有读的意义。总觉得这句话完全用不到,是不是我忽略了什么?

1个回答

虽然我没有看过FileOutputStream这个类的源代码,但是我估计里面也是掉用了这个方法,有的时候你不使用流,但是也要在某个地方创建文件不就用到了吗,再说流是有开销的,你使用完了还要关,而且根据程序设计原则就是把不同功能的模块区分出来,文件类专门管理文件,文件流专门负责传输文件,这是语言设计,就像高级流关闭之后,包含的低级流也会自动关闭,但是还不是有关闭的方法,你说有什么意义呢

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐