1
String sharedLocation = "\\\\hostname"

new File(sharedLocation).list()返回空值。exists()也返回false。我不知道这是否与权限有关。我在 Windows 上运行脚本。

相反,当我通过Windows -> 运行打开并输入 \\hostname 时,共享文件夹在运行窗口下拉列表中列为自动完成的一部分。为什么我不能对我的 java/groovy 脚本做同样的事情?有没有办法做到这一点?

编辑:请原谅错字。反斜杠已经被转义了。

4

1 回答 1

1

字符串中的反斜杠解析为\hostname. 如果你想得到\\hostname,你必须有两个反斜杠并正确地转义它们

String sharedLocation = "\\\\hostname"

File用于现有文件,但\\hostname不是文件或目录,而只是其中的一部分。使用时\\hostname\share,您可以list()共享此共享中的所有文件。

对于列出共享,您可以查看此答案https://stackoverflow.com/a/8480995/1741542,它建议使用Java CIFS 客户端库

listRoots您可以看到已经安装的共享。

于 2012-12-03T10:11:30.593 回答