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组成的吗?
    -结果表明是的。
    • 在这里插入图片描述

不知道你的疑问是否跟我的相同,如果你有不同的疑问,欢迎留言一起探讨

关注我,持续更新

猜你喜欢

转载自blog.csdn.net/qq_20156289/article/details/108311105
今日推荐