Как получить доступ к Windows монтируется диск с Java? - PullRequest
2 голосов
/ 26 апреля 2019

У меня дома 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 de réseau introuvable.

«Nom de réseau introuvable» : «Имя сети не найдено»

Я безуспешно пробовал другие пути:

  • \\ локального \ г $ \ путь \ к \ image.jpg
  • \\ 127.0.0.1 \ г $ \ путь \ к \ image.jpg
  • \\ MyPcName-PC \ г $ \ путь \ к \ image.jpg
  • Z: /path/to/image.jpg

Чего мне не хватает?

Windows 10
Java 8

1 Ответ

0 голосов
/ 28 апреля 2019

Отформатируйте строку в аргументе 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);
        }
    }

}
...