Чтение файла по сетевому пути

У меня есть эта странная проблема, когда я использую

File FileToRead = new File("\\\\MYSERVER\\MYFOLDER\\MYFOLDER\\MYPICTURE.JPG");

чтобы прочитать файл по сети, все, что я получаю, это исключение нулевого указателя. Обычно локальный путь работает с этим, но когда по сетевому пути я просто не мог заставить его работать. Любые идеи?

PS: oh и мое сетевое подключение, похоже, работает, никаких проблем при доступе к данным в проводнике Windows...

Больше кода:

File FileToRead = new File("file://DOKSERVICE/Somefolder/ProductImage/01001.JPG");
//File FileToRead = new File("c:\\dog.jpg"); local test
BufferedImage image = ImageIO.read(FileToRead);
BufferedImage resizedimage = new BufferedImage(260, 260,BufferedImage.TYPE_INT_RGB ); 
Graphics2D g = resizedimage.createGraphics();  
g.drawImage(image, 0, 0, 260, 260, null);  
g.dispose(); 
picture.setIcon(new ImageIcon(image));

Ответ 1

Просто укажите путь к файлу как URI:

File FileToRead = new File(new URI("file://MYSERVER/MYFOLDER/MYFOLDER/MYPICTURE.JPG"));

EDIT обратите внимание, что эта строка является URI! Он не может содержать пробелы, поэтому вам нужно заменить их "%20", чтобы заставить его работать.