不使用createNewFile()方法系统会自动创建文件
问题描述:
对于字符流的写入代码,发现去掉以下代码,程序也可以正常运行并自动创建文件。
if (!file.exists()) { file.createNewFile(); }
注释掉这段代码并删除txt文件后运行程序,发现并没有报IO异常,程序自动创建了txt文件并写入成功,请问老师这是为什么呢,如果可以自动创建文件,为什么还要加入这段代码判断文件是否存在呢?
7
收起
正在回答
1回答
同学你好,1、File并不会创建一个文件,new File()是在内存中创建File文件映射对象。如下所示:
2、可以成功写入文件是因new FileWriter(file),当没有文件时new FileWriter(file)自动创建了文件。因File不会创建一个文件,所以一般都会使用file.exists判断文件是否存在,保证文件存在。
祝学习愉快!
Java工程师 2024版
- 参与学习 2030 人
- 提交作业 1352 份
- 解答问题 1231 个
2024重磅革新,超百小时内容豪华升级,加速提升高级技能与高薪就业竞争力 课程紧贴企业最新人才需求,历经7年持续迭代,帮助万名学子入行转行 从零起点到高阶实战,学习路径稳健顺滑,成就从小白到工程师高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星