String sharedLocation = "\\\\hostname"
new File(sharedLocation).list()
返回null。 exists()
也会返回false
。我不知道这是否与权限有关。我在Windows上运行脚本。
相反,当我通过 Windows - >打开时运行并键入\\ hostname,共享文件夹将在“运行”窗口下拉列表中作为自动完成的一部分列出。为什么我不能用我的java / groovy脚本做同样的事情?有没有办法做到这一点?
编辑:请原谅错字。反斜杠已经被转义了。答案 0 :(得分:1)
字符串中的反斜杠解析为\hostname
。如果你想获得\\hostname
,你必须有两个反斜杠并正确地逃避它们
String sharedLocation = "\\\\hostname"
File
适用于现有文件,但\\hostname
不是文件或目录,而只是其中的一部分。使用\\hostname\share
时,您可以list()
此分享中的所有文件。
对于列出分享,您可以查看此答案https://stackoverflow.com/a/8480995/1741542,建议使用The Java CIFS Client Library。
使用listRoots
,您可以看到已安装的共享。