gpt4 book ai didi

java - 尝试列出共享文件夹中的所有文件时连接重置

转载 作者:行者123 更新时间:2023-12-01 23:26:46 24 4
gpt4 key购买 nike

我正在尝试使用 SmbFileNtlmPasswordAuthentication 递归检查公司共享文件夹中的特定文件。

由于我对 Java 不太了解,所以我遵循了在互联网上找到的示例,但每当我尝试执行 root.listFiles() 时,我总是收到以下错误:

jcifs.smb.SmbException: Failed to connect: foldername/xx.xx.xx.xxx
jcifs.util.transport.TransportException
java.net.SocketException: Connection reset


我确实拥有共享文件夹的访问权限,因此我最初的想法是我的代码中缺少某些内容,而是身份验证或代理错误。我使用以下格式的网址:smb://foldername/something/somethingelse/anothersomething/

我的代码:

    public static Boolean checkDiretory(String location, String docName){
Boolean result = false;
try {
NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("", Consts.username, Consts.password);
SmbFile root = new SmbFile(location, auth);
List<SmbFile> files = Arrays.asList(root.listFiles());
for(SmbFile file : files){
if(file.isDirectory()){
result = checkDiretory(file.getPath(), docName);
if(result)
return result;
}
else{
if(file.exists() && file.getName().contains(docName)){
return true;
}else{
result = false;
}
}
}
} catch (SmbException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
}
return result;
}

最佳答案

就像 Eliad Cohen 建议的那样,您可能必须更改为 SMBJ由于 jcifs 中的 SMBv2 不兼容。

我发现了类似的问题here这可能会帮助您解决这个问题。

请记住,主机只是您的路径!

祝你编码愉快!

关于java - 尝试列出共享文件夹中的所有文件时连接重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58305037/

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