2

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

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

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

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

4

3 回答 3

3

我知道的两个原因:

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

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

于 2013-08-24T03:22:21.970 回答
2

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

于 2013-08-24T03:25:00.787 回答
1

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

于 2013-08-24T03:32:25.330 回答