gpt4 book ai didi

java - 如何在 Java 中取消 Files.copy()?

转载 作者:太空狗 更新时间:2023-10-29 23:02:58 27 4
gpt4 key购买 nike

我正在使用 Java NIO 来复制一些东西:

Files.copy(source, target);

但我想让用户能够取消它(例如,如果文件太大并且需要一段时间)。

我应该怎么做?

最佳答案

使用选项 ExtendedCopyOption.INTERRUPTIBLE

注意:此类可能并非在所有环境中都公开可用。

基本上,您在新线程中调用 Files.copy(...),然后使用 Thread.interrupt() 中断该线程:

Thread worker = new Thread() {
@Override
public void run() {
Files.copy(source, target, ExtendedCopyOption.INTERRUPTIBLE);
}
}
worker.start();

然后取消:

worker.interrupt();

请注意,这将引发 FileSystemException

关于java - 如何在 Java 中取消 Files.copy()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17083896/

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