Java file.creatTempFile的一些疑问点和解答
知道了creatTempFile方法的作用之后,我产生了这些疑问点
对creatTempFile(String prefix, String suffix)
-
这个临时文件创建到哪里?
- 经过查询资料和测试(mac系统查看隐藏文件 shift+cmmand+. 再次操作就会恢复隐藏)
- mac默认文件夹是在 /var/folders/n8/q5dqg1k97972yjp344gcm4_r0000gn/T
- window 默认文件夹在C:\Documents and Settings\Administrator\Local Settings\Temp
-
这个临时文件创建后,当程序运行结束后,这个临时文件会自动被删除掉吗?
- 不会被删除掉 如下图所示
-
当这个路径已经存在了文件,会抹杀覆盖掉原来的文件,还是不进行新创建了?
-
这个方法,是prefix + 随机数 +suffix 构成的文件名,并不是prefix+suffix 这个api可是没有说明啊!
-
所以直接就不会存在路径冲突的问题(随机数冲突会从新生成新的),也就是会直接新建文件
-
-
-
-
这些疑问解决后,新的疑问,这些文件既然是临时的,怎么在程序运行完就自动删除这些文件呢?
- creatTempFile创建成功后,会返回这个文件的对象,使用这个对象的 file.deleteOnExit();即可实现程序运行完自动删除这些文件(这个方法适合任何 file文件类)
对createTempFile(String prefix, String suffix, File directory)
- 由creatTempFile(String prefix, String suffix) 从而产生以下的疑问
- 这个文件的名称也是prefix+ 随机数 + suffi组成的吗?
-结果表明是的。
不知道你的疑问是否跟我的相同,如果你有不同的疑问,欢迎留言一起探讨