java中建立文件输出流,当文件不存在时是否会新建文件?

如题 比如FileInputStream in = new FileInputStream("d:\\in.txt");如果建此输入流时 d盘的in.txt 不存在 会不会自动建立in.txt文件?网上有人说可以 但是我自己试了下不行 到底是能不能?

java中建立文件输出流,当文件不存在时会新建一个文件:
如果有同名文件,自动覆盖。不存在时自动建立。FileOutputStream的默认构造方法是直接覆盖掉原来的文件,而FileOutputStream(File file, boolean append) 的构造方法如果后面的append为true的时候就是追加到尾部而不是直接覆盖了。
,当创建IO对象是,文件是以独占的方式打开,就好比windows打开文件时进行删除,所以是无法删除。创建文件未写入信息,是因为缺少 out.flash() 这句,将缓存内容写入文件。通常在做文件操作,要先判断文件是否存在,最后再写入操作。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-03
应该不行,文件不存在,建立输入流会报异常
第2个回答  2013-06-03
可以确定的告诉你不行。你可以先检查此文件是否存在。不存在就创建File对象。
第3个回答  2015-06-26
FileInputStream是输入流。输入流读文件,如果文件不存在 自动生成个 那还读个蛋。

FileOutputStream是输出流。查看API

构造方法摘要

FileOutputStream(File file)
FileOutputStream(String name)
如果要写入的文件不存在,则会生成一个并写入。本回答被网友采纳
第4个回答  2013-06-03
不能,要先在d盘下建立这个文件,要不然会出异常的
相似回答