gpt4 book ai didi

Java renameTo() 函数不移动文件

转载 作者:行者123 更新时间:2023-11-29 09:50:44 27 4
gpt4 key购买 nike

我在媒体模块中运行了以下 Java 代码:

File file = new File("/my/path/"+String.format("%02d", date)+"/"+streamAliasRef+".mp4");

// Destination directory
File dir = new File("/mnt/s3");

// Move file to new directory
boolean success = file.renameTo(new File(dir, file.getName()));
if (!success) {
getLogger().info("File failed to move to s3"+file.getName());
}
else {
getLogger().info("File moved to s3 successfully"+ file.getName());
}

出于某种原因,我一直收到“文件无法移动到 s3”

我是 Java 的新手,如果这是一个简单的问题,请原谅我。我知道这两个目录都存在。可能与此有关的一个重要注意事项是我正在使用 Fuse 将 S3 存储桶挂载到文件系统。

最佳答案

在 unix 上运行的 Java 中,renameTo 仅在您位于同一文件系统中时才有效。因此,如果您要跨文件系统移动,则需要复制并删除原始文件。 unix mv 命令也执行此操作。这就是为什么 mv 在同一个文件系统上是即时的,但跨文件系统需要永远。它检测不同的文件系统并在这种情况下执行复制删除。

关于Java renameTo() 函数不移动文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4589216/

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