Java:列表文件&局域网中的计算机文件夹

时间:2012-09-12 05:30:05

标签: java lan java-io directory-browsing

假设我们的局域网中有一台PC:192.168.1.122,它只与ONE文件'Test.txt'共享一个文件夹'Shared'(即\\ 192.168.1.122 \ Shared \ Test.txt)。现在,如果我想浏览\ Shared中的文件和文件夹,我写道:

File f = new File("\\192.168.1.122\Shared");
File [] list = f.listFiles(); // Here I've got one item - Test.txt file. OK.

但是当我尝试浏览顶级文件时文件夹...

File f = new File("\\192.168.1.122");

... list []数组中没有任何内容。 请帮我浏览局域网设备的根文件夹。 谢谢!

1 个答案:

答案 0 :(得分:1)

this answer扩展为vcetinick suggested,您可以使用SmbFile.list()中的jCIFS列出(根据手册)

  

服务器的所有可浏览共享,包括打印机,IPC服务或磁盘卷,如果此资源是服务器URL,格式为smb:// server /,

这就是你一直在问的问题。使用jCIFS时甚至可以在应用程序不在Windows上运行时使用,而是在共享访问不采用\\host\share\path形式的操作系统上运行。