我有一个相当理论的问题。
如果使用UNC路径调用java.io.File#delete()会发生什么情况,即新文件(“\ 192.168.10.10 \ MyShare \ myFile.txt”)。delete()和基础SMB_COM_DELETE请求到达SMB服务器,但SMB_COM_DELETE_RESPONSE由于某种原因(网络故障,防火墙或其他)没有到达调用方?我希望java调用几秒后超时,但是......你知道多少个吗?你知道如果有人会得到某种例外吗?这是可配置的吗?如果我使用Files.delete()会有什么不同呢?
除了支持UNC表示法之外,我在java.io.File javadoc中找不到任何内容。
如果有人能回答这个问题我会很高兴
谢谢!
答案 0 :(得分:1)
我认为答案是20-60 seconds, depending on your software, and version of Windows。
我认为java或JVM不负责你正在做的事情,而是在JVM的实现中,删除这个文件将委托给一个操作系统级别的库来完成所有的工作。中小企业的东西。所以在这种情况下,关于超时的问题不是关于有问题的java库,而是关于任何库实现SMB协议的问题。
这个问题的答案是“这取决于我们所谈论的SMB库”。上面的链接提供了Windows的各种组合的一些常规超时参数,但它们看起来像是遍布地图。所以我认为基于该数据的安全范围是20-60秒。