如何使用Java访问Windows挂载的驱动器?

时间:2019-04-25 22:28:05

标签: java windows path unc

我在家有一个WD My Cloud。只需输入Z:\path\to\image.jpg,我就可以用笔记本电脑从文件浏览器中访问它。

我正在编写一个Java程序,该程序将读取位于这片小云上的图像内容。

这是我的代码:

Path p =Paths.get("\\\\192.168.1.2\\z$\\path\\to\\image.jpg");

try {
    byte[] data = Files.readAllBytes(p);

    // Process data here...
} catch (IOException e) {
    // ...
}

该程序由于以下异常而失败:

  

java.nio.file.FileSystemException:\\ 192.168.1.2 \ z $ \ path \ to \ image.jpg:Nom deréseau不可侵犯。

“ Nom deréseau不可入侵” :“找不到网络名称”

我尝试了其他方法但没有成功:

  • \\ localhost \ z $ \ path \ to \ image.jpg
  • \\ 127.0.0.1 \ z $ \ path \ to \ image.jpg
  • \\ MyPcName-PC \ z $ \ path \ to \ image.jpg
  • Z:/path/to/image.jpg

我想念什么?

Windows 10
Java 8

1 个答案:

答案 0 :(得分:0)

在Paths.get参数中格式化字符串,如下所示。

package access.mounted.drive;

import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.Files;
import java.io.IOException;

/**
 * @author Charles
 */
public class AccessMountedDrive {

    public static void main(String[] args) {
        Path p =
        Paths.get("E:\\\\Photos Grandparents\\Scan0166a Rose Pincoffs.jpg");

        try {
            int i=0;
            byte[] data = Files.readAllBytes(p);
            System.out.println("File size in bytes:" + data.length);
            // Process data here...
        } catch (IOException e) {
            System.out.println("IOException: " + e);
        }
    }

}