【问题标题】:Practical Use to Temp Files临时文件的实际使用
【发布时间】:2013-08-24 03:18:50
【问题描述】:

临时文件有什么实际用途(见下面的代码)?

File temp = File.createTempFile("temp-file-name", ".tmp");

为什么不能将要保存在文件中的数据存储在某些变量中?如果文件(可能)将在程序退出时被删除(正如“temp”所暗示的那样),为什么还要创建它们?

例如在下载文件时,下载完成时它通常显示为临时文件。

【问题讨论】:

  • 在磁盘中而不是在内存中..如果文件很大怎么办?

标签: java file temporary-files


【解决方案1】:

我知道的两个原因:

  1. 在执行视频编辑等内存密集型任务时,作为目前不需要的大块内存的存储空间

  2. 一种hacky的进程间通信方式

【讨论】:

  • 您能详细说明一下2吗?我认为这比它的价值更麻烦 - 只是创建一个具有标准名称的普通文件会更好并且更少麻烦,不是吗?
  • 我认为它的工作原理相同,使用起来也很麻烦。使用该功能的好处是它会自动将文件放置在操作系统指定的临时文件位置,将混乱限制在已知位置。
  • 除非文件名在调用之后才知道,这意味着您需要一些其他的进程间通信方法才能让其他进程打开文件...
【解决方案2】:

除了上面的 ram 与磁盘评论。您可以将临时文件用作前体文件或将要处理或提供的文件。例如,服务器可能会为浏览器生成较大的 PDF。该 PDF 文件将存储为临时文件,而(可能很慢)浏览器会下载该文件。通信完成后,即可销毁临时文件。

【讨论】:

    【解决方案3】:

    对于我们的小型“图像文件系统”项目 (http://code.google.com/p/imagefilesystem/),我们实际上使用 /tmp 目录来存储我们根据本地文件系统中的图像创建的缩略图。因此,拇指是“按需”创建的,正如 /tmp 的名称所说,它本身就是“自然的临时性”,因此它不会创建 GB 的永久数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-27
      • 2017-11-14
      相关资源
      最近更新 更多