通常可以用下面方法创建文件
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();还有什么意义呢?写文件的话,流可以自己创建文件;读文件创建个空文件也没有读的意义。总觉得这句话完全用不到,是不是我忽略了什么?
虽然我没有看过FileOutputStream这个类的源代码,但是我估计里面也是掉用了这个方法,有的时候你不使用流,但是也要在某个地方创建文件不就用到了吗,再说流是有开销的,你使用完了还要关,而且根据程序设计原则就是把不同功能的模块区分出来,文件类专门管理文件,文件流专门负责传输文件,这是语言设计,就像高级流关闭之后,包含的低级流也会自动关闭,但是还不是有关闭的方法,你说有什么意义呢