gpt4 book ai didi

java - 当我移动临时文件时,它会变成永久文件吗?

转载 作者:行者123 更新时间:2023-11-29 20:00:21 25 4
gpt4 key购买 nike

我的问题很直接。当我在 android 中创建一个临时文件(使用 File#createTempFile ),并将该文件移动到另一个目录(从/cache 到我的应用程序存储的/files )时,该文件会变得持久吗?或者有没有办法让它持久化?还是我必须复制它并删除原件?

最佳答案

您提供的 createTempFile 变体需要指定文件的包含目录。如果该目录在操作系统管理的临时文件存储中(例如类 Unix 系统中的 /tmp),那么您必须从临时层次结构移动(复制)到“常规”目录位置.但是,如果指定的目录已经在这样的地方之外,那么你没问题。

File 类通过提供 File#createTempFile(String prefix, String suffix) 帮助抽象“操作系统管理的临时文件存储”的概念。因此代码不需要知道(或找出)合适的 OS-temp 目录(Java 运行时会为您完成)。此类文件在操作系统管理的临时目录中创建,需要复制出来才能成为永久目录。

此外,考虑到临时文件的“临时性”通常是它们无法在系统重启后继续存在(通常,它们甚至无法在关机后继续存在)。因此,临时文件在操作系统生命周期内已经是永久性的;如果您需要重启后的持久性,那么您要么首先在持久位置创建临时文件,要么确保将它们移动(复制)到那里。

但是,我想知道,它们首先以何种方式成为“临时”文件?

关于java - 当我移动临时文件时,它会变成永久文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36370373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com