【问题标题】:How to read the list of files/folders on a shared location?如何读取共享位置上的文件/文件夹列表?
【发布时间】:2012-12-03 10:02:14
【问题描述】:
String sharedLocation = "\\\\hostname"

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

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

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

【问题讨论】:

  • 您需要转义反斜杠。尝试使用“\\\\hostname”,看看它是否适合您。

标签: java file groovy


【解决方案1】:

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

String sharedLocation = "\\\\hostname"

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

对于上市股票,你可以看看这个答案https://stackoverflow.com/a/8480995/1741542,它建议使用The Java CIFS Client Library

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-30
    • 1970-01-01
    • 1970-01-01
    • 2013-02-21
    • 2023-03-23
    • 2017-08-20
    相关资源
    最近更新 更多