如何读取共享位置上的文件/文件夹列表?

时间:2012-12-03 10:02:15

标签: java file groovy

String sharedLocation = "\\\\hostname"

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

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

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

1 个答案:

答案 0 :(得分:1)

字符串中的反斜杠解析为\hostname。如果你想获得\\hostname,你必须有两个反斜杠并正确地逃避它们

String sharedLocation = "\\\\hostname"

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

对于列出分享,您可以查看此答案https://stackoverflow.com/a/8480995/1741542,建议使用The Java CIFS Client Library

使用listRoots,您可以看到已安装的共享。