这会在Unix上运行吗?

Pip*_*rry 6 java filesystems

此Java代码列出Windows共享驱动器上的目录中的文件.它能在Unix系统上正常工作吗?

File directory = new File("\\\\server/Shared/stuff/mystuff");
for (File file: directory.listFiles()) {
    System.out.println(file);
}
Run Code Online (Sandbox Code Playgroud)

Viv*_*ath 8

简答:不.

答案很长:你安装了samba吗?即便如此,您还需要安装共享.所以它可能不会起作用.

编辑

Java最终将调用委托给底层操作系统.由于Unix不知道\\SERVERNAME路径的含义,因此Java也不知道它的含义.要做到这一点,您需要做的是使用Samba显式安装驱动器.如果你正在运行Ubuntu,你的另一个选择是.gvfs在你的home目录中查看.Ubuntu为您的Samba共享创建一个挂载,您应该能够使用Java访问它.如果您不想依赖外部工具,请尝试JCIFS以获得纯Java解决方案.